<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Kily&#039;s Blog</title>
	<atom:link href="http://www.keelii.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.keelii.com</link>
	<description>calls me kily</description>
	<lastBuildDate>Sat, 04 Sep 2010 04:05:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>JavaScript实现菜单视觉标识</title>
		<link>http://www.keelii.com/js-visual-sign/</link>
		<comments>http://www.keelii.com/js-visual-sign/#comments</comments>
		<pubDate>Sat, 04 Sep 2010 04:03:58 +0000</pubDate>
		<dc:creator>kily</dc:creator>
				<category><![CDATA[JavaScript学习]]></category>
		<category><![CDATA[视觉标识]]></category>

		<guid isPermaLink="false">http://www.keelii.com/js-visual-sign/</guid>
		<description><![CDATA[以前写过一篇文章也是关于视觉标识的：《CSS实现视觉标识》。在这篇文章中我介绍了用CSS来实现视觉标识的效果，但是里面的DEMO只有一个页面，而且链接没有动态的参数。
 
&#160;
很多时候我们在实际开发的时候都是在同一个页面而且有如：“article.php?id=10”这样的样子，看下面这段代码：
&#60;ul id=&#34;menu&#34;&#62;     &#160;&#160;&#160; &#60;li&#62;&#60;a id=&#34;a11&#34; href=&#34;?id=11&#34;&#62;index&#60;/a&#62;&#60;/li&#62;      &#160;&#160;&#160; &#60;li&#62;&#60;a id=&#34;a12&#34; href=&#34;?id=12&#34;&#62;video&#60;/a&#62;&#60;/li&#62;      &#160;&#160;&#160; &#60;li&#62;&#60;a id=&#34;a13&#34; href=&#34;?id=13&#34;&#62;music&#60;/a&#62;&#60;/li&#62;      &#160;&#160;&#160; &#60;li&#62;&#60;a id=&#34;a14&#34; href=&#34;?id=14&#34;&#62;message&#60;/a&#62;&#60;/li&#62;      &#60;/ul&#62;

当我们想用JS来在当前页面写代码实现点击后变色，可能你会想到下面这段JS代码：
document.getElementsByTagName(&#34;a&#34;).onclick = function(){     &#160;&#160;&#160;&#160;&#160;&#160;&#160; this.style.backgroundColor = &#34;red&#34;;  [...]]]></description>
			<content:encoded><![CDATA[<p>以前写过一篇文章也是关于视觉标识的：<a href="http://www.keelii.com/css-visual-sign/">《CSS实现视觉标识》</a>。在这篇文章中我介绍了用CSS来实现视觉标识的效果，但是里面的DEMO只有一个页面，而且链接没有动态的参数。</p>
<p> <span id="more-1613"></span>
<p>&#160;</p>
<p>很多时候我们在实际开发的时候都是在同一个页面而且有如：“article.php?id=10”这样的样子，看下面这段代码：</p>
<blockquote><p>&lt;ul id=&quot;menu&quot;&gt;     <br />&#160;&#160;&#160; &lt;li&gt;&lt;a id=&quot;a11&quot; href=&quot;?id=11&quot;&gt;index&lt;/a&gt;&lt;/li&gt;      <br />&#160;&#160;&#160; &lt;li&gt;&lt;a id=&quot;a12&quot; href=&quot;?id=12&quot;&gt;video&lt;/a&gt;&lt;/li&gt;      <br />&#160;&#160;&#160; &lt;li&gt;&lt;a id=&quot;a13&quot; href=&quot;?id=13&quot;&gt;music&lt;/a&gt;&lt;/li&gt;      <br />&#160;&#160;&#160; &lt;li&gt;&lt;a id=&quot;a14&quot; href=&quot;?id=14&quot;&gt;message&lt;/a&gt;&lt;/li&gt;      <br />&lt;/ul&gt;</p>
</blockquote>
<p>当我们想用JS来在当前页面写代码实现点击后变色，可能你会想到下面这段JS代码：</p>
<blockquote><p>document.getElementsByTagName(&quot;a&quot;).onclick = function(){     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; this.style.backgroundColor = &quot;red&quot;;      <br />}</p>
</blockquote>
<p>但是这段代码确没有达到效果。</p>
<p><strong>原因： </strong></p>
<p>因为只有一个页面而且每个链接都是有参数的，点击任何一个链接都会重新载入页面。DOM重新载入，那么JS的效果就不起作用了。</p>
<p><strong>解决方法：</strong></p>
<p>在页面每次载入时取出URL的参数，对应的给每个A链接加上ID。页面载入时判断参数与ID是否一致，一致就给链接动态加上样式Class。正确的JS是这样写的：</p>
<blockquote><p>var str = window.location.search.substring(4,6);&#160; //取参数ID号     <br />var menu = document.getElementById(&quot;menu&quot;);      <br />var menuA = menu.getElementsByTagName(&quot;a&quot;);&#160;&#160;&#160;&#160;&#160;&#160; //获取所有链接      <br />for ( var i = 0; i&lt;menuA.length; i++ ) {&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //循环确定是否匹配      <br />&#160;&#160;&#160; var menuAID = menuA[i].getAttribute(&quot;id&quot;).substring(1,3);      <br />&#160;&#160;&#160; if ( str == menuAID ) {      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; menuA[i].className = &quot;active&quot;;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //动态加上class      <br />&#160;&#160;&#160; }      <br />}</p>
</blockquote>
<p><a href="http://www.keelii.com/learning/js-learning/js_visual_sign.html">查看DEMO效果</a></p>
<p>特别感谢<a href="http://17css.com" target="_blank">青色</a>和亚当学院3群的同学提供思路。</p>
<h3  class="related_post_title">随机文章</h3><ul class="related_post"><li><a href="http://www.keelii.com/update-theme/" title="低调更新现用主题">低调更新现用主题</a></li><li><a href="http://www.keelii.com/ie8%e6%ad%a3%e5%bc%8f%e7%89%88%e5%8f%91%e5%b8%83%e5%95%a6/" title="IE8正式版发布啦!">IE8正式版发布啦!</a></li><li><a href="http://www.keelii.com/rock-rock-dancing-girl/" title="节奏,节奏！《Dancing Girl》">节奏,节奏！《Dancing Girl》</a></li><li><a href="http://www.keelii.com/ie-condition-no/" title="IE条件注释详解">IE条件注释详解</a></li><li><a href="http://www.keelii.com/js-regular-expression-learning-part-one/" title="JavaScript正则表达式学习笔记&lt;1&gt;">JavaScript正则表达式学习笔记&lt;1&gt;</a></li><li><a href="http://www.keelii.com/blog-notice/" title="博客通知">博客通知</a></li><li><a href="http://www.keelii.com/cooledit21%e6%95%99%e7%a8%8b%e4%b8%93%e4%b8%9a%e5%bd%95%e9%9f%b3%e8%bd%af%e4%bb%b6/" title="CoolEdit2.1教程(专业翻唱录音软件)">CoolEdit2.1教程(专业翻唱录音软件)</a></li><li><a href="http://www.keelii.com/%e5%90%90%e8%a1%80%e6%8e%a8%e8%8d%90%e5%85%8d%e8%b4%b9phpmysql%e7%a9%ba%e9%97%b4/" title="吐血推荐免费php+mysql空间!">吐血推荐免费php+mysql空间!</a></li><li><a href="http://www.keelii.com/%e7%a8%bb%e9%a6%99/" title="稻香<试听>">稻香<试听></a></li><li><a href="http://www.keelii.com/min-height-study/" title="最小高度min-height的浏览器兼容方法">最小高度min-height的浏览器兼容方法</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.keelii.com/js-visual-sign/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>BeiJing I&#8217;m coming</title>
		<link>http://www.keelii.com/beijing-i-am-coming/</link>
		<comments>http://www.keelii.com/beijing-i-am-coming/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 01:20:35 +0000</pubDate>
		<dc:creator>kily</dc:creator>
				<category><![CDATA[生活的事儿]]></category>

		<guid isPermaLink="false">http://www.keelii.com/beijing-i-am-coming/</guid>
		<description><![CDATA[7月十九号的火车，兄弟四个一起！一起北漂
求工作，求祝福
求此文章无spam . . .
相关文章点名游戏，下一个就是你哦西安也下雪啦IE8正式版发布啦!google免费天气短信提醒Adobe发布Flash Player 10正式版微软将WinXP停售期推迟至明年7月31日艾薇儿上海个唱high翻天 引发全场大合唱2008丽江雪山音乐节，艾薇儿丽江演唱会干点该干的。最好是想干的。大屏游戏本(学生型) 联想C510暑促新低4750元]]></description>
			<content:encoded><![CDATA[<p>7月十九号的火车，兄弟四个一起！一起北漂</p>
<p>求工作，求祝福</p>
<p>求此文章无spam . . .</p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://www.keelii.com/rollcall-game/" title="点名游戏，下一个就是你哦">点名游戏，下一个就是你哦</a></li><li><a href="http://www.keelii.com/xi-an-snow/" title="西安也下雪啦">西安也下雪啦</a></li><li><a href="http://www.keelii.com/ie8%e6%ad%a3%e5%bc%8f%e7%89%88%e5%8f%91%e5%b8%83%e5%95%a6/" title="IE8正式版发布啦!">IE8正式版发布啦!</a></li><li><a href="http://www.keelii.com/google%e5%85%8d%e8%b4%b9%e5%a4%a9%e6%b0%94%e7%9f%ad%e4%bf%a1%e6%8f%90%e9%86%92/" title="google免费天气短信提醒">google免费天气短信提醒</a></li><li><a href="http://www.keelii.com/adobe%e5%8f%91%e5%b8%83flash-player-10%e6%ad%a3%e5%bc%8f%e7%89%88/" title="Adobe发布Flash Player 10正式版">Adobe发布Flash Player 10正式版</a></li><li><a href="http://www.keelii.com/%e5%be%ae%e8%bd%af%e5%b0%86winxp%e5%81%9c%e5%94%ae%e6%9c%9f%e6%8e%a8%e8%bf%9f%e8%87%b3%e6%98%8e%e5%b9%b47%e6%9c%8831%e6%97%a5/" title="微软将WinXP停售期推迟至明年7月31日">微软将WinXP停售期推迟至明年7月31日</a></li><li><a href="http://www.keelii.com/%e8%89%be%e8%96%87%e5%84%bf%e4%b8%8a%e6%b5%b7%e4%b8%aa%e5%94%b1high%e7%bf%bb%e5%a4%a9-%e5%bc%95%e5%8f%91%e5%85%a8%e5%9c%ba%e5%a4%a7%e5%90%88%e5%94%b1/" title="艾薇儿上海个唱high翻天 引发全场大合唱">艾薇儿上海个唱high翻天 引发全场大合唱</a></li><li><a href="http://www.keelii.com/2008%e4%b8%bd%e6%b1%9f%e9%9b%aa%e5%b1%b1%e9%9f%b3%e4%b9%90%e8%8a%82%ef%bc%8c%e8%89%be%e8%96%87%e5%84%bf%e4%b8%bd%e6%b1%9f%e6%bc%94%e5%94%b1%e4%bc%9a/" title="2008丽江雪山音乐节，艾薇儿丽江演唱会">2008丽江雪山音乐节，艾薇儿丽江演唱会</a></li><li><a href="http://www.keelii.com/%e5%b9%b2%e7%82%b9%e8%af%a5%e5%b9%b2%e7%9a%84%e3%80%82%e6%9c%80%e5%a5%bd%e6%98%af%e6%83%b3%e5%b9%b2%e7%9a%84%e3%80%82/" title="干点该干的。最好是想干的。">干点该干的。最好是想干的。</a></li><li><a href="http://www.keelii.com/%e5%a4%a7%e5%b1%8f%e6%b8%b8%e6%88%8f%e6%9c%ac%e5%ad%a6%e7%94%9f%e5%9e%8b-%e8%81%94%e6%83%b3c510%e6%9a%91%e4%bf%83%e6%96%b0%e4%bd%8e4750%e5%85%83/" title="大屏游戏本(学生型) 联想C510暑促新低4750元">大屏游戏本(学生型) 联想C510暑促新低4750元</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.keelii.com/beijing-i-am-coming/feed/</wfw:commentRss>
		<slash:comments>65</slash:comments>
		</item>
		<item>
		<title>点名游戏，下一个就是你哦</title>
		<link>http://www.keelii.com/rollcall-game/</link>
		<comments>http://www.keelii.com/rollcall-game/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 01:24:37 +0000</pubDate>
		<dc:creator>kily</dc:creator>
				<category><![CDATA[生活的事儿]]></category>

		<guid isPermaLink="false">http://www.keelii.com/rollcall-game/</guid>
		<description><![CDATA[
我勒个去，居然让wuleilei单独点到了。作为这个游戏命运的决定者，我表示鸭梨很大哦。再忙也得和大家玩下放松放松哈。貌似能被我点的人也不多，别来了不鸟那就玩儿大了^!^
入正题&#8230;

规则：

1.认真如实的回答下面提出的问题
2.仔细回顾自己博客的成长历程，完成1
3.能煽情的最好煽情
4.可以自己继续添加问题和修改问题
5.自己回答之后将此活动转交给你友情链接中的3个链接，并督促其完成答题并继续传递下去
6.接到点名的尽快完成，然后交给其他人
7.此活动没有什么利益的，只是一种回忆
8.被点的人复制规则以下部分
9.不要回点哦

活动内容：
1.你的博客存在多久了啊？还记得是哪天正式上线的吗？
答：看下存档就很清楚了，2008年5月19日，不过我博客早期是PJblog然后转型到WordPress，最早写的日志貌似已经找不到了。
2.你会把你的博客坚持下去吗？
答：Absolutely Yes。只要我从事互联网行业。
3.如果说有一天你要放弃博客了，你认为会是什么原因啊？
答：2012世界末日。
4.你做独立博客之前有没有过其他博客啊？
答：有，新浪博客。哈哈一般人我真的不告诉他，今天爆料下：http://blog.sina.com.cn/zhouqili早都没用过了，只是当时用“镜缘思雪”这个昵称，Google了下还找到了。我现在知道了第一篇博客日志是在2006年8月30日 20:03。当时国内的BSP博客很火，写完第一篇日志的时候那个兴奋劲儿就不用说了！
5.你还记得你第一个域名是什么吗？
答：理论上应该是jingyuansixue.cn要么就是zhouqili.cn那时cn就一块钱。
6.你的第一个域名的意思是什么呢？
答：我的名字和当时的昵称。
7.还记得你的第一个友情链接是谁吗？你们现在关系怎么样？
答：石头的PJ博客，我始终印象很深。他的博客域名是：http://www.x-ican.cn（访问不了了），是他激起了我对网页设计和博客的兴趣，不过在我刚开始写博客时他就工作了。有他QQ但始终处于不在线状态。
8.你的博客收到第一条评论的时候，你是什么心情啊？
答：只有激动和兴奋。
9.为博客花掉了自己很多的时间，你后悔过吗？
答：丫的马上就要靠这个吃饭了，怎么会后悔呢！
10.你认为通过博客结交的朋友可靠吗？你相信他们吗？
答：这个不能用可靠来形容，博客我始终相信：有来无往往非礼也。至于是否值得相信我觉得大致心里都有数吧！
11.如果你的博客里的朋友某天因为特殊原因，或是你自己由于特殊原因，要离开这个圈子，你还会回来看看吗？
答：除非我从事非互联网行业否则一定有来往，PS.这个假设貌似假不成立哦。
12.你建博客的目的是什么？
答：提升自己的专业水平，结交朋友。记录自己的成长。
13.现在你管理博客的目的发生变化了吗？
答：永远不变，想让我博客上放广告门儿都没有。
14.博客给你带来的快乐多吗？
答：当然，不仅有快乐还有很多收获，比如前两天有人看我博客写的不错让我接他们的网站项目，也有人向我介绍工作。在这里我得感谢他们对我博客的肯定和对我的信任。
15.你现在感觉你一天不上博客的话，会舒服吗？
答：有一天不上博客的情况，那就是：停电。没电没网在宿舍会舒服吗？
16.在你的博客里，有你真实世界里的人和你交流吗?
答：有一个，回忆很痛苦不提。
17.你现实圈子里的朋友有几个知道你有博客的？
答：屈指可数。几乎是零。
18.你想对你博客里的朋友说些什么？
答：只要你不忘记我，我就永远爱你们。
19.你现在的身份是什么？工作了？还是学生？
答：状态：在校等毕业证。马上要找工作了，欢迎大家给推荐哦。
20.你会将活动继续下去吗？
答：第一次参加这游戏，肯定会的。
21.你要把此活动转交给谁呢？
答：
WoodyHouse（文字如诗，诗如其人吧）
青色&#8217;s blog（我第一个喜欢的技术博客）
我的职业生涯（貌似很忙，但愿他有时间）
相关文章BeiJing I&#8217;m coming西安也下雪啦IE8正式版发布啦!google免费天气短信提醒Adobe发布Flash Player 10正式版微软将WinXP停售期推迟至明年7月31日艾薇儿上海个唱high翻天 引发全场大合唱2008丽江雪山音乐节，艾薇儿丽江演唱会干点该干的。最好是想干的。大屏游戏本(学生型) 联想C510暑促新低4750元]]></description>
			<content:encoded><![CDATA[<p><img style="display: inline; border-width: 0px;" title="rollcall-game" src="http://www.keelii.com/wp-content/uploads/2010/06/rollcallgame.jpg" border="0" alt="rollcall-game" width="524" height="204" /></p>
<p>我勒个去，居然让<a href="http://www.wuleilei.com" target="_blank">wuleilei</a>单独点到了。作为这个游戏命运的决定者，我表示鸭梨很大哦。再忙也得和大家玩下放松放松哈。貌似能被我点的人也不多，别来了不鸟那就玩儿大了^!^</p>
<p>入正题&#8230;</p>
<p><span id="more-1600"></span></p>
<h3>规则：</h3>
<ul>
<li>1.认真如实的回答下面提出的问题</li>
<li>2.仔细回顾自己博客的成长历程，完成1</li>
<li>3.能煽情的最好煽情</li>
<li>4.可以自己继续添加问题和修改问题</li>
<li>5.自己回答之后将此活动转交给你友情链接中的3个链接，并督促其完成答题并继续传递下去</li>
<li>6.接到点名的尽快完成，然后交给其他人</li>
<li>7.此活动没有什么利益的，只是一种回忆</li>
<li>8.被点的人复制规则以下部分</li>
<li>9.不要回点哦</li>
</ul>
<h3>活动内容：</h3>
<p><strong>1.你的博客存在多久了啊？还记得是哪天正式上线的吗？</strong></p>
<p>答：看下存档就很清楚了，2008年5月19日，不过我博客早期是PJblog然后转型到WordPress，最早写的日志貌似已经找不到了。</p>
<p><strong>2.你会把你的博客坚持下去吗？</strong></p>
<p>答：Absolutely Yes。只要我从事互联网行业。</p>
<p><strong>3.如果说有一天你要放弃博客了，你认为会是什么原因啊？</strong></p>
<p>答：2012世界末日。</p>
<p><strong>4.你做独立博客之前有没有过其他博客啊？</strong></p>
<p>答：有，新浪博客。哈哈一般人我真的不告诉他，今天爆料下：<a title="http://blog.sina.com.cn/zhouqili" href="http://blog.sina.com.cn/zhouqili">http://blog.sina.com.cn/zhouqili</a>早都没用过了，只是当时用“镜缘思雪”这个昵称，Google了下还找到了。我现在知道了第一篇博客日志是在2006年8月30日 20:03。当时国内的BSP博客很火，写完第一篇日志的时候那个兴奋劲儿就不用说了！</p>
<p><strong>5.你还记得你第一个域名是什么吗？</strong></p>
<p>答：理论上应该是jingyuansixue.cn要么就是zhouqili.cn那时cn就一块钱。</p>
<p><strong>6.你的第一个域名的意思是什么呢？</strong></p>
<p>答：我的名字和当时的昵称。</p>
<p><strong>7.还记得你的第一个友情链接是谁吗？你们现在关系怎么样？</strong></p>
<p>答：石头的PJ博客，我始终印象很深。他的博客域名是：<a href="http://www.x-ican.cn">http://www.x-ican.cn</a>（访问不了了），是他激起了我对网页设计和博客的兴趣，不过在我刚开始写博客时他就工作了。有他QQ但始终处于不在线状态。</p>
<p><strong>8.你的博客收到第一条评论的时候，你是什么心情啊？</strong></p>
<p>答：只有激动和兴奋。</p>
<p><strong>9.为博客花掉了自己很多的时间，你后悔过吗？</strong></p>
<p>答：丫的马上就要靠这个吃饭了，怎么会后悔呢！</p>
<p><strong>10.你认为通过博客结交的朋友可靠吗？你相信他们吗？</strong></p>
<p>答：这个不能用可靠来形容，博客我始终相信：有来无往往非礼也。至于是否值得相信我觉得大致心里都有数吧！</p>
<p><strong>11.如果你的博客里的朋友某天因为特殊原因，或是你自己由于特殊原因，要离开这个圈子，你还会回来看看吗？</strong></p>
<p>答：除非我从事非互联网行业否则一定有来往，PS.这个假设貌似假不成立哦。</p>
<p><strong>12.你建博客的目的是什么？</strong></p>
<p>答：提升自己的专业水平，结交朋友。记录自己的成长。</p>
<p><strong>13.现在你管理博客的目的发生变化了吗？</strong></p>
<p>答：永远不变，想让我博客上放广告门儿都没有。</p>
<p><strong>14.博客给你带来的快乐多吗？</strong></p>
<p>答：当然，不仅有快乐还有很多收获，比如前两天有人看我博客写的不错让我接他们的网站项目，也有人向我介绍工作。在这里我得感谢他们对我博客的肯定和对我的信任。</p>
<p><strong>15.你现在感觉你一天不上博客的话，会舒服吗？</strong></p>
<p>答：有一天不上博客的情况，那就是：停电。没电没网在宿舍会舒服吗？</p>
<p><strong>16.在你的博客里，有你真实世界里的人和你交流吗?</strong></p>
<p>答：有一个，回忆很痛苦不提。</p>
<p><strong>17.你现实圈子里的朋友有几个知道你有博客的？</strong></p>
<p>答：屈指可数。几乎是零。</p>
<p><strong>18.你想对你博客里的朋友说些什么？</strong></p>
<p>答：只要你不忘记我，我就永远爱你们。</p>
<p><strong>19.你现在的身份是什么？工作了？还是学生？</strong></p>
<p>答：状态：在校等毕业证。马上要找工作了，欢迎大家给推荐哦。</p>
<p><strong>20.你会将活动继续下去吗？</strong></p>
<p>答：第一次参加这游戏，肯定会的。</p>
<p><strong>21.你要把此活动转交给谁呢？</strong></p>
<p>答：<br />
<a href="http://woodyhouse.org" target="_blank">WoodyHouse</a>（文字如诗，诗如其人吧）<br />
<a href="http://www.17css.com/" target="_blank">青色&#8217;s blog</a>（我第一个喜欢的技术博客）<br />
<a href="http://www.uoian.cn/">我的职业生涯</a>（貌似很忙，但愿他有时间）</p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://www.keelii.com/beijing-i-am-coming/" title="BeiJing I&rsquo;m coming">BeiJing I&rsquo;m coming</a></li><li><a href="http://www.keelii.com/xi-an-snow/" title="西安也下雪啦">西安也下雪啦</a></li><li><a href="http://www.keelii.com/ie8%e6%ad%a3%e5%bc%8f%e7%89%88%e5%8f%91%e5%b8%83%e5%95%a6/" title="IE8正式版发布啦!">IE8正式版发布啦!</a></li><li><a href="http://www.keelii.com/google%e5%85%8d%e8%b4%b9%e5%a4%a9%e6%b0%94%e7%9f%ad%e4%bf%a1%e6%8f%90%e9%86%92/" title="google免费天气短信提醒">google免费天气短信提醒</a></li><li><a href="http://www.keelii.com/adobe%e5%8f%91%e5%b8%83flash-player-10%e6%ad%a3%e5%bc%8f%e7%89%88/" title="Adobe发布Flash Player 10正式版">Adobe发布Flash Player 10正式版</a></li><li><a href="http://www.keelii.com/%e5%be%ae%e8%bd%af%e5%b0%86winxp%e5%81%9c%e5%94%ae%e6%9c%9f%e6%8e%a8%e8%bf%9f%e8%87%b3%e6%98%8e%e5%b9%b47%e6%9c%8831%e6%97%a5/" title="微软将WinXP停售期推迟至明年7月31日">微软将WinXP停售期推迟至明年7月31日</a></li><li><a href="http://www.keelii.com/%e8%89%be%e8%96%87%e5%84%bf%e4%b8%8a%e6%b5%b7%e4%b8%aa%e5%94%b1high%e7%bf%bb%e5%a4%a9-%e5%bc%95%e5%8f%91%e5%85%a8%e5%9c%ba%e5%a4%a7%e5%90%88%e5%94%b1/" title="艾薇儿上海个唱high翻天 引发全场大合唱">艾薇儿上海个唱high翻天 引发全场大合唱</a></li><li><a href="http://www.keelii.com/2008%e4%b8%bd%e6%b1%9f%e9%9b%aa%e5%b1%b1%e9%9f%b3%e4%b9%90%e8%8a%82%ef%bc%8c%e8%89%be%e8%96%87%e5%84%bf%e4%b8%bd%e6%b1%9f%e6%bc%94%e5%94%b1%e4%bc%9a/" title="2008丽江雪山音乐节，艾薇儿丽江演唱会">2008丽江雪山音乐节，艾薇儿丽江演唱会</a></li><li><a href="http://www.keelii.com/%e5%b9%b2%e7%82%b9%e8%af%a5%e5%b9%b2%e7%9a%84%e3%80%82%e6%9c%80%e5%a5%bd%e6%98%af%e6%83%b3%e5%b9%b2%e7%9a%84%e3%80%82/" title="干点该干的。最好是想干的。">干点该干的。最好是想干的。</a></li><li><a href="http://www.keelii.com/%e5%a4%a7%e5%b1%8f%e6%b8%b8%e6%88%8f%e6%9c%ac%e5%ad%a6%e7%94%9f%e5%9e%8b-%e8%81%94%e6%83%b3c510%e6%9a%91%e4%bf%83%e6%96%b0%e4%bd%8e4750%e5%85%83/" title="大屏游戏本(学生型) 联想C510暑促新低4750元">大屏游戏本(学生型) 联想C510暑促新低4750元</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.keelii.com/rollcall-game/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>JavaScript 正则表达式学习笔记&lt;2&gt;</title>
		<link>http://www.keelii.com/js-regular-expression-learning-part-two/</link>
		<comments>http://www.keelii.com/js-regular-expression-learning-part-two/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 11:23:23 +0000</pubDate>
		<dc:creator>kily</dc:creator>
				<category><![CDATA[JavaScript学习]]></category>
		<category><![CDATA[web前端关注]]></category>
		<category><![CDATA[正则表达式]]></category>

		<guid isPermaLink="false">http://www.keelii.com/js-regular-expression-learning-part-two/</guid>
		<description><![CDATA[ 
那么今天继续了，上次我们熟悉了一下关于JavaScript正则表达式的一些基本匹配方式，今儿个咱来学习下String对象的一些和正则表达式有关的方法，关于这个应该不用多说，常用于表单的字符串验证。
 
1.String对象的replace()方法
String对象最基本的方法之一，它用于替换目标字符串中的某个字符。比如：
var s = &#34;&#8212;Hello11&#8212;&#34;;&#160;&#160;&#160; //将这个字符串中的-替换成#      alert(s.replace(&#34;-&#34;,&#34;#&#34;));&#160; //返回#&#8211;Hello11&#8212;而不是###Hello11###
&#160;&#160;&#160; //要替换所有的-号我们可以用正则了
alert(s.replace(/-/,&#34;#&#34;))&#160;&#160; //用/-/来替换#,结果与上面一样，原因是你忘了加上匹配模式
alert(s.replace(/-/g,&#34;#&#34;));&#160; //这样就可以将字符串的所有的-替换成#了
&#160;&#160;&#160; //如果我想把目标字符串替换成#Hello11#该怎样写正则呢？
alert(s.replace(/-+/g,&#34;#&#34;));&#160; //+是什么作用请查上篇笔记

String对象正则实现trim（去空格）效果
var s = &#34;&#160;&#160; Hello&#160;&#160; &#34;;      alert(&#34;&#124;&#34;+s.replace(/^\s+/,&#34;&#34;)+&#34;&#124;&#34;);&#160; //替换前面的多个空格：^       alert(&#34;&#124;&#34;+s.replace(/\s+$/,&#34;&#34;)+&#34;&#124;&#34;);&#160; //替换后面的多个空格：$&#160; 注：加上“&#124;”易辨认
&#160;&#160;&#160; //整合到一个trim函数里面去,调用此方法时可以去掉字符串两边的空格
function trim(s){
&#160;&#160;&#160; var re1 = /^\s+/,re2 = /\s+$/;
&#160;&#160;&#160; s= s.replace(replace(),&#34;&#34;);
&#160;&#160;&#160; return s.replace(re2,&#34;&#34;);
}

2.String对象的split()方法
此方法将目标字符串用某字符分割开，并返回一个数组对象。基本用法如下：
var s = &#34;12,34,56&#34;; [...]]]></description>
			<content:encoded><![CDATA[<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="js-regular-expression-learning-part-two" border="0" alt="js-regular-expression-learning-part-two" src="http://www.keelii.com/wp-content/uploads/2010/06/jsregularexpressionlearningparttwo.jpg" width="524" height="204" /> </p>
<p>那么今天继续了，上次我们熟悉了一下关于JavaScript正则表达式的一些基本匹配方式，今儿个咱来学习下String对象的一些和正则表达式有关的方法，关于这个应该不用多说，常用于表单的字符串验证。</p>
<p> <span id="more-1595"></span><br />
<h3>1.String对象的replace()方法</h3>
<p>String对象最基本的方法之一，它用于替换目标字符串中的某个字符。比如：</p>
<blockquote><p>var s = &quot;&#8212;Hello11&#8212;&quot;;&#160;&#160;&#160; //将这个字符串中的-替换成#      <br />alert(s.replace(&quot;-&quot;,&quot;#&quot;));&#160; //返回#&#8211;Hello11&#8212;而不是###Hello11###</p>
<p>&#160;&#160;&#160; //要替换所有的-号我们可以用正则了</p>
<p>alert(s.replace(/-/,&quot;#&quot;))&#160;&#160; //用/-/来替换#,结果与上面一样，原因是你忘了加上匹配模式</p>
<p>alert(s.replace(/-/<font color="#ff0000">g</font>,&quot;#&quot;));&#160; //这样就可以将字符串的所有的-替换成#了</p>
<p>&#160;&#160;&#160; //如果我想把目标字符串替换成#Hello11#该怎样写正则呢？</p>
<p>alert(s.replace(/-<font color="#ff0000">+</font>/g,&quot;#&quot;));&#160; //+是什么作用请查上篇笔记</p>
</blockquote>
<p>String对象正则实现trim（去空格）效果</p>
<blockquote><p>var s = &quot;&#160;&#160; Hello&#160;&#160; &quot;;      <br />alert(&quot;|&quot;+s.replace(/^\s+/,&quot;&quot;)+&quot;|&quot;);&#160; //替换前面的多个空格：^       <br />alert(&quot;|&quot;+s.replace(/\s+$/,&quot;&quot;)+&quot;|&quot;);&#160; //替换后面的多个空格：$&#160; 注：加上“|”易辨认</p>
<p>&#160;&#160;&#160; //整合到一个trim函数里面去,调用此方法时可以去掉字符串两边的空格</p>
<p>function trim(s){</p>
<p>&#160;&#160;&#160; var re1 = /^\s+/,re2 = /\s+$/;</p>
<p>&#160;&#160;&#160; s= s.replace(replace(),&quot;&quot;);</p>
<p>&#160;&#160;&#160; return s.replace(re2,&quot;&quot;);</p>
<p>}</p>
</blockquote>
<h3>2.String对象的split()方法</h3>
<p>此方法将目标字符串用某字符分割开，并返回一个数组对象。基本用法如下：</p>
<blockquote><p>var s = &quot;12,34,56&quot;;      <br />var arrs = s.split(&quot;,&quot;)       <br />alert(arrs[0]+&quot;\n&quot;+arrs[1]+&quot;\n&quot;+arrs[2]);</p>
</blockquote>
<p><strong>小扩展</strong>：当目标字符串是用户输入的一些字符，比如生日。我们该如何分别获取他的年、月、日。</p>
<blockquote><p>var s = &quot;1988-8-8&quot;;&#160;&#160; //这里是用户输入的数据      <br />var date = s.split(&quot;-&quot;);       <br />var year = date[0],month = date[1],day = [2];       <br />alert(&quot;您出生于：&quot;+year+&quot;年&quot;+month+&quot;月&quot;+day+&quot;日&quot;);</p>
</blockquote>
<p>对于一些“不按常理出牌”的用户，我们可以用正则去搞定，比如：</p>
<blockquote><p>var s = &quot;1988- 8 -*8&quot;;&#160; //比如用户这样输入了数据      <br />var date = s.split(/[^0-9]+/);&#160; //脱字符^放在[]中间表示匹配相反内容</p>
<p>&#160;&#160;&#160; //这个正则表示匹配多个非数字字符，用其分割      <br />var year = date[0],month = date[1],day = [2];       <br />alert(&quot;您出生于：&quot;+year+&quot;年&quot;+month+&quot;月&quot;+day+&quot;日&quot;);</p>
</blockquote>
<h3>3.String对象的search()方法</h3>
<p>这个方法表示查找字符串中与之匹配的字符并返回其下标值，没找到匹配值时返回-1 。比如：</p>
<blockquote><p>var s = &quot;My age is 18.&quot;;      <br />alert(s.search(&quot;1&quot;));//返回10,search方法与indexof方法的区别在于search可以使用正则</p>
</blockquote>
<h3>4.String对象的match()方法</h3>
<p>这个方法类似于正则中的exec方法，如：</p>
<blockquote><p>var s = &quot;Ubuntu 8.10&quot;;      <br />var re = /^([a-z]+)\s+(\d+)\.(\d+)/i; //正则中的.表示匹配任意字符，这里要转义它       <br />var arrs = s.match(re);       <br />alert(&quot;name:&quot;+arrs[1]+&quot;\nversion:&quot;+arrs[2]+&quot;\nsub-version:&quot;+arrs[3]);</p>
</blockquote>
<p>休息一下..</p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://www.keelii.com/js-regular-expression-learning-part-one/" title="JavaScript正则表达式学习笔记&lt;1&gt;">JavaScript正则表达式学习笔记&lt;1&gt;</a></li><li><a href="http://www.keelii.com/javascript-dom-script/" title="推荐一本JavaScript入门的书">推荐一本JavaScript入门的书</a></li><li><a href="http://www.keelii.com/js-chessboard/" title="纯JavaScript制作围棋棋盘">纯JavaScript制作围棋棋盘</a></li><li><a href="http://www.keelii.com/recommand-javascript-book/" title="推荐一本JavaScript方面的书">推荐一本JavaScript方面的书</a></li><li><a href="http://www.keelii.com/js-table-color-changing/" title="JavaScript简单实现表格格行换色">JavaScript简单实现表格格行换色</a></li><li><a href="http://www.keelii.com/js-fun-recursive/" title="JavaScript函数递归调用">JavaScript函数递归调用</a></li><li><a href="http://www.keelii.com/javascript-function-reload/" title="JavaScript中的函数(方法)重载">JavaScript中的函数(方法)重载</a></li><li><a href="http://www.keelii.com/cssjs%e5%88%b6%e5%81%9atab%e9%80%89%e9%a1%b9%e5%8d%a1/" title="CSS+JS制做Tab选项卡">CSS+JS制做Tab选项卡</a></li><li><a href="http://www.keelii.com/javascript%e8%a1%a8%e5%8d%95submit%e6%96%b9%e6%b3%95%e6%97%a0%e6%b3%95%e6%8f%90%e4%ba%a4%e9%97%ae%e9%a2%98%ef%bc%81/" title="javascript表单submit()方法无法提交问题！">javascript表单submit()方法无法提交问题！</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.keelii.com/js-regular-expression-learning-part-two/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>JavaScript正则表达式学习笔记&lt;1&gt;</title>
		<link>http://www.keelii.com/js-regular-expression-learning-part-one/</link>
		<comments>http://www.keelii.com/js-regular-expression-learning-part-one/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 04:38:46 +0000</pubDate>
		<dc:creator>kily</dc:creator>
				<category><![CDATA[JavaScript学习]]></category>
		<category><![CDATA[web前端关注]]></category>
		<category><![CDATA[正则表达式]]></category>

		<guid isPermaLink="false">http://www.keelii.com/js-regular-expression-learning-part-one/</guid>
		<description><![CDATA[
刚刚收到李炎恢老师的弟子CJ写的一部JavaScript+Ajax+JQuery视频教程，对于我这种刚入门级的菜菜来说真是雪中送炭呀！今天看到了正则表达式章节，感觉老师讲得非常不错，做点笔记与大家分享，当然也做个免费广告哈：如果想购买此视频教程的话点击这里。绝对物超所值，现在网络上最新的关于JS的视频教程也就是这个了哦。

1.什么是正则表达式
正则表达式是由普通字符（如a到z）以及特殊字符（称为元字符）组成的文字模式，该模式描述在查找文字主体时待匹配的一个或者多个字符串。作为一个模板，将字符模式与所搜索的客串进行匹配。
关于元字符与匹配内容可以参考这张表：正则匹配表
2.怎么创建正则表达式
var re = new RegExp();//RegExp是一个对象,和Aarray一样
//但这样没有任何效果,需要将正则表达式的内容作为字符串传递进去
re = new RegExp(&#8220;a&#8221;);//最简单的正则表达式,将匹配字母a 可简写为“var re = /a/”
re = new RegExp(&#8220;a&#8221;,&#8221;i&#8221;);//第二个参数,表示匹配时不分大小写
RegExp构造函数第一个参数为正则表达式内容，而第二个参数则为可选项标志，而且可以组合使用。可选标志如：

g （全文查找）
i （忽略大小写）
m （多行查找）

var re = new RegExp(&#8220;a&#8221;,&#8221;gi&#8221;);
//匹配所有的a或A。可简写为“var re = /a/gi”
3.正则表达式对象的方法
三种方法分别是test，exec，compile：

test：返回一个Boolean值，它指出在被查找的字符串中是否存在模式。
exec：用正则表达式模式在字符串中运行查找，并返回包含该查找结果的一个数组。
compile：把正则表达式编译为内部格式，从而执行得更快。

4.正则表达式的属性
常用的有以下几种：

source：返回表达式文本的复本。只读。
lastIndex：返回字符位置，它是被查找字符串中下一次成功匹配的开始位置。
$1…$9：返回九个在模式匹配期间找到的、最近保存的部分。只读。
input ($_)：返回执行规范表述查找的字符串。只读。
lastMatch ($&#38;)：返回任何正则表达式搜索过程中的最后匹配字符。只读。
leftContext ($`) ：返回被查找的字符串中从字符串开始位置到最后匹配之前的位置之间的字符。只读。
rightContext ($&#8217;) 返回被搜索的客串中从最后一个匹配位置开始到字符串结尾之间的字符。只读

5.动手测试正则表达式是如何工作的
用test方法测试是否匹配模式：
var re = /he/;        //最简单的正则表达式,将匹配he这个单词
var str = &#8220;he&#8221;;
alert(re.test(str));  //用test方法测试是否匹配，返回true
str = &#8220;we&#8221;;
alert(re.test(str));  //false
str = &#8220;HE&#8221;;
alert(re.test(str));  //false
re = /he/i;           //加上可选标识i(ignoreCase)来忽略大小写
alert(re.test(str));  //true
str = &#8220;yeah~he loves her&#8221;;
alert(re.test(str));  //true
脱字符（^）开头匹配：（查表看看什么是脱字符）
re = [...]]]></description>
			<content:encoded><![CDATA[<p><img style="display: inline; border-width: 0px;" title="js-regular-expression-learning-part-one" src="http://www.keelii.com/wp-content/uploads/2010/06/jsregularexpressionlearningpartone.jpg" border="0" alt="js-regular-expression-learning-part-one" width="524" height="204" /></p>
<p>刚刚收到李炎恢老师的弟子<a href="http://www.pl4cj.org/blog/" target="_blank">CJ</a>写的一部JavaScript+Ajax+JQuery视频教程，对于我这种刚入门级的菜菜来说真是雪中送炭呀！今天看到了正则表达式章节，感觉老师讲得非常不错，做点笔记与大家分享，当然也做个免费广告哈：如果想购买此视频教程的话<a href="http://hi.baidu.com/%C0%EE%D1%D7%BB%D6/blog/item/d8d6683fbcf925f7828b138d.html" target="_blank">点击这里</a>。绝对物超所值，现在网络上最新的关于JS的视频教程也就是这个了哦。</p>
<p><span id="more-1593"></span></p>
<h3>1.什么是正则表达式</h3>
<p>正则表达式是由普通字符（如a到z）以及特殊字符（称为元字符）组成的文字模式，该模式描述在查找文字主体时待匹配的一个或者多个字符串。作为一个模板，将字符模式与所搜索的客串进行匹配。</p>
<p id="retable">关于元字符与匹配内容可以参考这张表：<a href="http://www.keelii.com/learning/js-learning/js-re-table.html">正则匹配表</a></p>
<h3>2.怎么创建正则表达式</h3>
<blockquote><p>var re = new RegExp();//RegExp是一个对象,和Aarray一样<br />
//但这样没有任何效果,需要将正则表达式的内容作为字符串传递进去<br />
re = new RegExp(&#8220;a&#8221;);//最简单的正则表达式,将匹配字母a <span style="color: #ff0000;">可简写为“var re = /a/”</span><br />
re = new RegExp(&#8220;a&#8221;,&#8221;i&#8221;);//第二个参数,表示匹配时不分大小写</p></blockquote>
<p>RegExp构造函数第一个参数为正则表达式内容，而第二个参数则为可选项标志，而且可以组合使用。可选标志如：</p>
<ul>
<li>g （全文查找）</li>
<li>i （忽略大小写）</li>
<li>m （多行查找）</li>
</ul>
<blockquote><p>var re = new RegExp(&#8220;a&#8221;,&#8221;gi&#8221;);</p>
<p>//匹配所有的a或A。<span style="color: #ff0000;">可简写为“var re = /a/gi”</span></p></blockquote>
<h3>3.正则表达式对象的方法</h3>
<p>三种方法分别是test，exec，compile：</p>
<ul>
<li>test：返回一个Boolean值，它指出在被查找的字符串中是否存在模式。</li>
<li>exec：用正则表达式模式在字符串中运行查找，并返回包含该查找结果的一个数组。</li>
<li>compile：把正则表达式编译为内部格式，从而执行得更快。</li>
</ul>
<h3>4.正则表达式的属性</h3>
<p>常用的有以下几种：</p>
<ul>
<li>source：返回表达式文本的复本。只读。</li>
<li>lastIndex：返回字符位置，它是被查找字符串中下一次成功匹配的开始位置。</li>
<li>$1…$9：返回九个在模式匹配期间找到的、最近保存的部分。只读。</li>
<li>input ($_)：返回执行规范表述查找的字符串。只读。</li>
<li>lastMatch ($&amp;)：返回任何正则表达式搜索过程中的最后匹配字符。只读。</li>
<li>leftContext ($`) ：返回被查找的字符串中从字符串开始位置到最后匹配之前的位置之间的字符。只读。</li>
<li>rightContext ($&#8217;) 返回被搜索的客串中从最后一个匹配位置开始到字符串结尾之间的字符。只读</li>
</ul>
<h3>5.动手测试正则表达式是如何工作的</h3>
<p>用test方法测试是否匹配模式：</p>
<blockquote><p>var re = /he/;        //最简单的正则表达式,将匹配he这个单词<br />
var str = &#8220;he&#8221;;<br />
alert(re.test(str));  //用test方法测试是否匹配，返回true<br />
str = &#8220;we&#8221;;<br />
alert(re.test(str));  //false<br />
str = &#8220;HE&#8221;;<br />
alert(re.test(str));  //false<br />
re = /he/i;           //加上可选标识i(ignoreCase)来忽略大小写<br />
alert(re.test(str));  //true<br />
str = &#8220;yeah~he loves her&#8221;;<br />
alert(re.test(str));  //true</p></blockquote>
<p>脱字符（^）开头匹配：（<a href="#retable">查表看看什么是脱字符</a>）</p>
<blockquote><p>re = /^he/i;<br />
alert(re.test(str));  //false,因为he不在str最开始<br />
str = &#8220;He is a good guy!&#8221;;<br />
alert(re.test(str));  //true</p></blockquote>
<p>美元符（$）末尾匹配：</p>
<blockquote><p>re = /^he$/i;         //$表示字符结束位置<br />
alert(re.test(str));  //返回false说明&#8221;he is a good guy&#8221;不是以he结尾<br />
str = &#8220;He&#8221;;<br />
alert(re.test(str));  //返回true</p></blockquote>
<p>（\s）空白字符匹配：（包括空格，制表符，换行，换页等）</p>
<blockquote><p>str = &#8220;user Name&#8221;;<br />
re = /\s/;<br />
alert(re.test(str));  //str=&#8221;user\nName&#8221;也将返回true</p></blockquote>
<p>方括号（[ ]）范围匹配：</p>
<blockquote><p>re = /^[a-z]/i;        //匹配开头为a~z中任意字符并且不区分大小写<br />
str = &#8220;variableName&#8221;;<br />
alert(re.test(str));  //true<br />
str = &#8220;123variableName&#8221;;<br />
alert(re.test(str));  //false</p></blockquote>
<p>用exec方法测试哪些字符匹配了模式：</p>
<blockquote><p>var osVersion = &#8220;Ubuntu 8&#8243;;<br />
var re = /^[a-z]+\s+\d+$/i;  //+表示字符至少出现1次，\d表示一个数字</p>
<p>//这个正则表示：匹配 以a~z中任意字母为开头、至少有一个空白字符、至少有一个数字结尾的字符串<br />
alert(re.test(osVersion));   //true</p>
<p>re = /^[a-z]+\s+\d+$/i;<br />
arr = re.exec(osVersion);<br />
alert(arr[0]);     //将osVersion完整，因为它刚好匹配re<br />
//我们只想取出数字..<br />
re=/\d+/;<br />
arr = re.exec(osVersion);<br />
alert(arr[0]);     //返回8</p></blockquote>
<p>复杂一点的子匹配：</p>
<blockquote><p>re = /^[a-z]+\s+(\d+)$/i;    //用()来创建子匹配<br />
arr = re.exec(osVersion);<br />
alert(arr[0]+&#8221;\n&#8221;+arr[1]);   //arr[1]为第一个子匹配也就是版本号8</p>
<p>osVersion = &#8220;Ubuntu 8.10&#8243;;<br />
re = /^[a-z]+\s+(\d+)\.(\d+)$/i;    //.是正则中的元字符需要转义即“\.”表示输出一个.号<br />
arr = re.exec(osVersion);<br />
alert(&#8220;完整版本：&#8221;+arr[0]+&#8221;\n大版本号：&#8221;+arr[1]+&#8221;\n字版本号：&#8221;+arr[2]);</p></blockquote>
<p>休息一下精彩继续&#8230;</p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://www.keelii.com/js-regular-expression-learning-part-two/" title="JavaScript 正则表达式学习笔记&lt;2&gt;">JavaScript 正则表达式学习笔记&lt;2&gt;</a></li><li><a href="http://www.keelii.com/javascript-dom-script/" title="推荐一本JavaScript入门的书">推荐一本JavaScript入门的书</a></li><li><a href="http://www.keelii.com/js-chessboard/" title="纯JavaScript制作围棋棋盘">纯JavaScript制作围棋棋盘</a></li><li><a href="http://www.keelii.com/recommand-javascript-book/" title="推荐一本JavaScript方面的书">推荐一本JavaScript方面的书</a></li><li><a href="http://www.keelii.com/js-table-color-changing/" title="JavaScript简单实现表格格行换色">JavaScript简单实现表格格行换色</a></li><li><a href="http://www.keelii.com/js-fun-recursive/" title="JavaScript函数递归调用">JavaScript函数递归调用</a></li><li><a href="http://www.keelii.com/javascript-function-reload/" title="JavaScript中的函数(方法)重载">JavaScript中的函数(方法)重载</a></li><li><a href="http://www.keelii.com/cssjs%e5%88%b6%e5%81%9atab%e9%80%89%e9%a1%b9%e5%8d%a1/" title="CSS+JS制做Tab选项卡">CSS+JS制做Tab选项卡</a></li><li><a href="http://www.keelii.com/javascript%e8%a1%a8%e5%8d%95submit%e6%96%b9%e6%b3%95%e6%97%a0%e6%b3%95%e6%8f%90%e4%ba%a4%e9%97%ae%e9%a2%98%ef%bc%81/" title="javascript表单submit()方法无法提交问题！">javascript表单submit()方法无法提交问题！</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.keelii.com/js-regular-expression-learning-part-one/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>推荐一本JavaScript入门的书</title>
		<link>http://www.keelii.com/javascript-dom-script/</link>
		<comments>http://www.keelii.com/javascript-dom-script/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 10:38:08 +0000</pubDate>
		<dc:creator>kily</dc:creator>
				<category><![CDATA[web前端关注]]></category>
		<category><![CDATA[JavaScript学习]]></category>

		<guid isPermaLink="false">http://www.keelii.com/?p=1588</guid>
		<description><![CDATA[ 
很惭愧学习JavaScript很长时间了但一直都还是入门阶段，先前也介绍过一本JS方面的书：《推荐一本JavaScript方面的书》。与此书相比，这次推荐给大家的书《JavaScript DOM编程艺术》就相对简单一些了。
 
&#160;
其实我还没有买过中文版的JavaScript DOM编程艺术，我是在网上下载的英文PDF版，一章章看完感觉很不错就介绍给大家。
作者从实际出发一步步地引导读者学习有关JavaScript WEB编程的相关知识，语言简洁精炼（没过四级的我看着都不废劲^!^），难能可贵的是每一章里作者都会给出一个实例，并一步步的完善，倒数第二章“Putting It All Together”向读者介绍了一个完整的界面设计与制作，用到了前面学习到的DOM的相关操作，表现与结构分享的思想，以及JavaScript的一些基础知识。
我可以负责任的告诉大家：即使你没学习过JavaScript，只要略一点编程的看这本书绝对会收获很多东西。
PDF英文版《JavaScript DOM编程艺术》下载地址：http://www.uushare.com/user/keelii/file/3160255
相关文章JavaScript 正则表达式学习笔记&#60;2&#62;JavaScript正则表达式学习笔记&#60;1&#62;纯JavaScript制作围棋棋盘推荐一本JavaScript方面的书JavaScript简单实现表格格行换色JavaScript函数递归调用JavaScript中的函数(方法)重载CSS+JS制做Tab选项卡javascript表单submit()方法无法提交问题！]]></description>
			<content:encoded><![CDATA[<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="javascript-dom-scripting" border="0" alt="javascript-dom-scripting" src="http://www.keelii.com/wp-content/uploads/2010/06/javascriptdomscripting.jpg" width="524" height="204" /> </p>
<p>很惭愧学习JavaScript很长时间了但一直都还是入门阶段，先前也介绍过一本JS方面的书：<a href="http://www.keelii.com/recommand-javascript-book/">《推荐一本JavaScript方面的书》</a>。与此书相比，这次推荐给大家的书《JavaScript DOM编程艺术》就相对简单一些了。</p>
<p> <span id="more-1588"></span>
<p>&#160;</p>
<p>其实我还没有买过中文版的JavaScript DOM编程艺术，我是在网上下载的英文PDF版，一章章看完感觉很不错就介绍给大家。</p>
<p>作者从实际出发一步步地引导读者学习有关JavaScript WEB编程的相关知识，语言简洁精炼（没过四级的我看着都不废劲^!^），难能可贵的是每一章里作者都会给出一个实例，并一步步的完善，倒数第二章“Putting It All Together”向读者介绍了一个完整的界面设计与制作，用到了前面学习到的DOM的相关操作，表现与结构分享的思想，以及JavaScript的一些基础知识。</p>
<p>我可以负责任的告诉大家：即使你没学习过JavaScript，只要略一点编程的看这本书绝对会收获很多东西。</p>
<p>PDF英文版《JavaScript DOM编程艺术》下载地址：<a title="http://www.uushare.com/user/keelii/file/3160255" href="http://www.uushare.com/user/keelii/file/3160255">http://www.uushare.com/user/keelii/file/3160255</a></p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://www.keelii.com/js-regular-expression-learning-part-two/" title="JavaScript 正则表达式学习笔记&lt;2&gt;">JavaScript 正则表达式学习笔记&lt;2&gt;</a></li><li><a href="http://www.keelii.com/js-regular-expression-learning-part-one/" title="JavaScript正则表达式学习笔记&lt;1&gt;">JavaScript正则表达式学习笔记&lt;1&gt;</a></li><li><a href="http://www.keelii.com/js-chessboard/" title="纯JavaScript制作围棋棋盘">纯JavaScript制作围棋棋盘</a></li><li><a href="http://www.keelii.com/recommand-javascript-book/" title="推荐一本JavaScript方面的书">推荐一本JavaScript方面的书</a></li><li><a href="http://www.keelii.com/js-table-color-changing/" title="JavaScript简单实现表格格行换色">JavaScript简单实现表格格行换色</a></li><li><a href="http://www.keelii.com/js-fun-recursive/" title="JavaScript函数递归调用">JavaScript函数递归调用</a></li><li><a href="http://www.keelii.com/javascript-function-reload/" title="JavaScript中的函数(方法)重载">JavaScript中的函数(方法)重载</a></li><li><a href="http://www.keelii.com/cssjs%e5%88%b6%e5%81%9atab%e9%80%89%e9%a1%b9%e5%8d%a1/" title="CSS+JS制做Tab选项卡">CSS+JS制做Tab选项卡</a></li><li><a href="http://www.keelii.com/javascript%e8%a1%a8%e5%8d%95submit%e6%96%b9%e6%b3%95%e6%97%a0%e6%b3%95%e6%8f%90%e4%ba%a4%e9%97%ae%e9%a2%98%ef%bc%81/" title="javascript表单submit()方法无法提交问题！">javascript表单submit()方法无法提交问题！</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.keelii.com/javascript-dom-script/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>漂亮的JQuery可编辑表格</title>
		<link>http://www.keelii.com/beautiful-editable-table/</link>
		<comments>http://www.keelii.com/beautiful-editable-table/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 01:42:11 +0000</pubDate>
		<dc:creator>kily</dc:creator>
				<category><![CDATA[web前端关注]]></category>
		<category><![CDATA[JQuery]]></category>

		<guid isPermaLink="false">http://www.keelii.com/beautiful-editable-table/</guid>
		<description><![CDATA[ 
可编辑表格在网页开发中非常常见，尤其是与后台做Ajax应用。花了点时间学习了下这种表格的制作方法，有JQuery的时候一切都是那么简单。如果换成纯JavaScript的话一系列的DOM操作的确相当繁琐，JQuery中实现起来却异常简单。
 
&#160;
核心JQuery代码在这里：
$(function(){    &#160;&#160;&#160; //隔行换色     &#160;&#160;&#160; $(&#34;tbody tr:odd&#34;).css(&#34;background-color&#34;,&#34;#eee&#34;);     &#160;&#160;&#160; var numId = $(&#34;tbody td&#34;);     &#160;&#160;&#160; numId.click(function(){     &#160;&#160;&#160;&#160;&#160;&#160;&#160; var tdIns = $(this);     &#160;&#160;&#160;&#160;&#160;&#160;&#160; if ( tdIns.children(&#34;input&#34;).length&#62;0 ){ return false; }&#160;&#160;&#160;&#160;&#160;&#160;&#160;

&#160;&#160;&#160;&#160;&#160;&#160;&#160; var inputIns = [...]]]></description>
			<content:encoded><![CDATA[<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="edittable" border="0" alt="edittable" src="http://www.keelii.com/wp-content/uploads/2010/06/edittable.jpg" width="524" height="204" /> </p>
<p>可编辑表格在网页开发中非常常见，尤其是与后台做Ajax应用。花了点时间学习了下这种表格的制作方法，有JQuery的时候一切都是那么简单。如果换成纯JavaScript的话一系列的DOM操作的确相当繁琐，JQuery中实现起来却异常简单。</p>
<p> <span id="more-1579"></span>
<p>&#160;</p>
<p><strong>核心JQuery代码在这里：</strong></p>
<blockquote><p>$(function(){    <br />&#160;&#160;&#160; <font color="#ff0000">//隔行换色</font>     <br />&#160;&#160;&#160; $(&quot;tbody tr:odd&quot;).css(&quot;background-color&quot;,&quot;#eee&quot;);     <br />&#160;&#160;&#160; var numId = $(&quot;tbody td&quot;);     <br />&#160;&#160;&#160; numId.click(function(){     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; var tdIns = $(this);     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; if ( tdIns.children(&quot;input&quot;).length&gt;0 ){ return false; }&#160;&#160;&#160;&#160;&#160;&#160;&#160;
</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; var inputIns = $(&quot;&lt;input type=&#8217;text&#8217;/&gt;&quot;); <font color="#ff0000">//需要插入的输入框代码        <br /></font>&#160;&#160;&#160;&#160;&#160;&#160;&#160; var text = $(this).html();&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; inputIns.width(tdIns.width()); <font color="#ff0000">//设置input与td宽度一致</font>       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; inputIns.val(tdIns.html()); <font color="#ff0000">//将本来单元格td内容copy到插入的文本框input中        <br /></font>&#160;&#160;&#160;&#160;&#160;&#160;&#160; tdIns.html(&quot;&quot;); <font color="#ff0000">//删除原来单元格td内容</font>       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; inputIns.appendTo(tdIns).focus().select(); <font color="#ff0000">//将需要插入的输入框代码插入dom节点中        <br /></font>&#160;&#160;&#160;&#160;&#160;&#160;&#160; inputIns.click(function(){ return false;});       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="#ff0000">//处理Enter和Esc事件</font>       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; inputIns.keyup(function(event){       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var keycode = event.which;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if( keycode == 13 ){ var inputText = $(this).val(); tdIns.html(inputText);}       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if( keycode == 27 ){ tdIns.html(text);}       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; });       <br />&#160;&#160;&#160; });       <br />}); </p>
</blockquote>
<p><a href="http://www.keelii.com/learning/jQuery/EditTable.html" target="_blank">效果点这里</a></p>
<p>鼠标点击单元格时单元格变成可一个文本框，可用enter和esc控制操作完成与否。</p>
<p>嗯。效果挺不错的吧！废话一句漂亮与否还得看CSS哦！</p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://www.keelii.com/jquery-infinite-dropdown-menu/" title="JQuery制作无限级下导航拉菜单详解">JQuery制作无限级下导航拉菜单详解</a></li><li><a href="http://www.keelii.com/jquery%ef%bc%8dslide-menu/" title="JQuery制作二级滑动菜单">JQuery制作二级滑动菜单</a></li><li><a href="http://www.keelii.com/jquery%e5%ae%9e%e7%8e%b0%e6%94%b6%e7%bc%a9%e5%88%97%e8%a1%a8/" title="JQuery实现收缩列表">JQuery实现收缩列表</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.keelii.com/beautiful-editable-table/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>从HTML5的角度重新思考表单元素</title>
		<link>http://www.keelii.com/rethinking-forms-in-html5/</link>
		<comments>http://www.keelii.com/rethinking-forms-in-html5/#comments</comments>
		<pubDate>Fri, 21 May 2010 13:53:18 +0000</pubDate>
		<dc:creator>kily</dc:creator>
				<category><![CDATA[web前端关注]]></category>
		<category><![CDATA[html5]]></category>

		<guid isPermaLink="false">http://www.keelii.com/rethinking-forms-in-html5/</guid>
		<description><![CDATA[这是一篇我在nettuts上看到的一篇文章，写得挺不错的。原文在这里：Rethinking Forms in HTML5 最近网上HTML5和Flash的口水战也不少，做为一个合格的前端了解些新知识还是很有必要的。
先来看一个传统的表单：
&#60;input name=&#34;form_text&#34; id=&#34;form_text&#34; type=&#34;text&#34; value=&#34;foo&#34; size=&#34;10&#34; maxlength=&#34;100&#34;&#62;

这个表单看起来相当臃肿，而且不利于特殊人群阅读网页内容。在新的HTML5规定中会有一些增加一些新的属性来完美它们，如：autofocus, autocomplete, list, required, multiple等。
 

自动聚焦（autofocus）
这些新属性的作用就是让它们相对的好理解。例如：
&#60;input name=&#34;form_text&#34; id=&#34;form_text&#34; type=&#34;text&#34; value=&#34;foo&#34; autofocus&#62;

这种情况的要点就在于一旦页面加载，这个文本输入框就自动聚焦，使用户的输入更加便捷。
&#60;input name=&#34;form_text&#34; id=&#34;form_text&#34; type=&#34;text&#34; value=&#34;foo&#34; autocomplete=&#34;off&#34;&#62;

这种情况，通过关闭表单自动完成功能让浏览器无法显示自动完成的效果。这就避免了因自动完成功能而输入错误内容的情况。
数据表(list)
&#60;input name=&#34;form_url&#34; id=&#34;form_url&#34; type=&#34;url&#34; list=&#34;url_list&#34;&#62;&#160; &#60;datalist id=&#34;url_list&#34;&#62;&#160; &#160;&#160;&#160; &#60;option value=&#34;http://www.google.com&#34; label=&#34;Google&#34;&#62;&#160; &#160;&#160;&#160; &#60;option value=&#34;http://www.nettuts.com&#34; label=&#34;NetTuts&#34;&#62;&#160; &#60;/datalist&#62; 

这个list属性的确很酷，当你用鼠标点击这个输入框时下面会自动显示出datalist的内容，通过点击它可以将内容自动添加到上面的输入框。这个效果如果要用JS制作的话就会相当麻烦了。 注：建议使用新版的opero浏览些效果，如下：
 
多选框(multiple)
&#60;input name=&#34;form_url&#34; id=&#34;form_url&#34; type=&#34;url&#34; list=&#34;url_list&#34; multiple&#62;

multiple属性让大家可以调用页面中datalist中的内容(如上)，这双节省了我们用JS去写此功能的时间。
必填项(required)
&#60;input name=&#34;form_text&#34; id=&#34;form_text&#34; type=&#34;text&#34; value=&#34;foo&#34; required&#62;

此属性表明该项目为必填项目，提交表单时如果为空则自动给出提示！完全不需要另写JS。
正则(RegEx)
&#60;input name=&#34;form_text&#34; [...]]]></description>
			<content:encoded><![CDATA[<p>这是一篇我在nettuts上看到的一篇文章，写得挺不错的。原文在这里：<a href="http://net.tutsplus.com/tutorials/html-css-techniques/rethinking-forms-in-html5/" target="_blank">Rethinking Forms in HTML5</a> 最近网上HTML5和Flash的口水战也不少，做为一个合格的前端了解些新知识还是很有必要的。</p>
<p>先来看一个传统的表单：</p>
<blockquote><p>&lt;input name=&quot;form_text&quot; id=&quot;form_text&quot; type=&quot;text&quot; value=&quot;foo&quot; size=&quot;10&quot; maxlength=&quot;100&quot;&gt;</p>
</blockquote>
<p>这个表单看起来相当臃肿，而且不利于特殊人群阅读网页内容。在新的HTML5规定中会有一些增加一些新的属性来完美它们，如：autofocus, autocomplete, list, required, multiple等。</p>
<p> <span id="more-1577"></span>
</p>
<p><strong>自动聚焦（autofocus）</strong></p>
<p>这些新属性的作用就是让它们相对的好理解。例如：</p>
<blockquote><p>&lt;input name=&quot;form_text&quot; id=&quot;form_text&quot; type=&quot;text&quot; value=&quot;foo&quot; <font color="#ff0000">autofocus</font>&gt;</p>
</blockquote>
<p>这种情况的要点就在于一旦页面加载，这个文本输入框就自动聚焦，使用户的输入更加便捷。</p>
<blockquote><p>&lt;input name=&quot;form_text&quot; id=&quot;form_text&quot; type=&quot;text&quot; value=&quot;foo&quot; <font color="#ff0000">autocomplete</font>=&quot;off&quot;&gt;</p>
</blockquote>
<p>这种情况，通过关闭表单自动完成功能让浏览器无法显示自动完成的效果。这就避免了因自动完成功能而输入错误内容的情况。</p>
<p><strong>数据表(list)</strong></p>
<blockquote><p>&lt;input name=&quot;form_url&quot; id=&quot;form_url&quot; type=&quot;url&quot; <font color="#ff0000">list</font>=&quot;url_list&quot;&gt;&#160; <br />&lt;<font color="#ff0000">datalist</font> id=&quot;url_list&quot;&gt;&#160; <br />&#160;&#160;&#160; &lt;option value=&quot;http://www.google.com&quot; label=&quot;Google&quot;&gt;&#160; <br />&#160;&#160;&#160; &lt;option value=&quot;http://www.nettuts.com&quot; label=&quot;NetTuts&quot;&gt;&#160; <br />&lt;/<font color="#ff0000">datalist</font>&gt; </p>
</blockquote>
<p>这个list属性的确很酷，当你用鼠标点击这个输入框时下面会自动显示出datalist的内容，通过点击它可以将内容自动添加到上面的输入框。这个效果如果要用JS制作的话就会相当麻烦了。 <strong>注</strong>：建议使用新版的opero浏览些效果，如下：</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="listdate" border="0" alt="listdate" src="http://www.keelii.com/wp-content/uploads/2010/05/listdate.jpg" width="268" height="78" /> </p>
<p><strong>多选框(multiple)</strong></p>
<blockquote><p>&lt;input name=&quot;form_url&quot; id=&quot;form_url&quot; type=&quot;url&quot; list=&quot;url_list&quot; <font color="#ff0000">multiple</font>&gt;</p>
</blockquote>
<p>multiple属性让大家可以调用页面中datalist中的内容(如上)，这双节省了我们用JS去写此功能的时间。</p>
<p><strong>必填项(required)</strong></p>
<blockquote><p>&lt;input name=&quot;form_text&quot; id=&quot;form_text&quot; type=&quot;text&quot; value=&quot;foo&quot; <font color="#ff0000">required</font>&gt;</p>
</blockquote>
<p>此属性表明该项目为必填项目，提交表单时如果为空则自动给出提示！完全不需要另写JS。</p>
<p><strong>正则(RegEx)</strong></p>
<blockquote><p>&lt;input name=&quot;form_text&quot; id=&quot;form_text&quot; type=&quot;text&quot; value=&quot;foo&quot; <font color="#ff0000">pattern</font>=&quot;[0-9][A-Z]{3}&quot;&gt;</p>
</blockquote>
<p>此属性会检查输入内容和目标正则表达式的匹配情况。</p>
<p><strong>验证(Validation)</strong></p>
<blockquote><p>&lt;input name=&quot;form_range&quot; id=&quot;form_range&quot; type=&quot;<font color="#ff0000">range</font>&quot; min=&quot;1&quot; max=&quot;10&quot; step=&quot;.5&quot; value=&quot;5&quot; &gt;</p>
</blockquote>
<p>当输入框类型为range时就可以定义内容的范围等相关项目。</p>
<p>当然以上提到的这些属性并不是每个浏览器都支持的，具体情况看下图：</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="form_input_elements" border="0" alt="form_input_elements" src="http://www.keelii.com/wp-content/uploads/2010/05/form_input_elements.gif" width="524" height="216" /> </p>
<p>更多精彩内容请阅读原文，这里只做抛砖引玉的介绍。</p>
<h3  class="related_post_title">随机文章</h3><ul class="related_post"><li><a href="http://www.keelii.com/christmas-change-mmwallpaper/" title="过圣诞，换壁纸啦！">过圣诞，换壁纸啦！</a></li><li><a href="http://www.keelii.com/ie8%e6%ad%a3%e5%bc%8f%e7%89%88%e5%8f%91%e5%b8%83%e5%95%a6/" title="IE8正式版发布啦!">IE8正式版发布啦!</a></li><li><a href="http://www.keelii.com/almost-finish-silence/" title="主题silence已完成只欠东风">主题silence已完成只欠东风</a></li><li><a href="http://www.keelii.com/%e4%b8%8d%e8%83%bd%e9%9d%a0%e8%bf%91%e4%bd%a0-%e4%b9%9f%e8%a6%81%e6%b8%a9%e6%9a%96%e4%bd%a0/" title="不能靠近你 也要温暖你">不能靠近你 也要温暖你</a></li><li><a href="http://www.keelii.com/blog-change-ip/" title="网站更换IP部分留言数据丢失">网站更换IP部分留言数据丢失</a></li><li><a href="http://www.keelii.com/rock-rock-dancing-girl/" title="节奏,节奏！《Dancing Girl》">节奏,节奏！《Dancing Girl》</a></li><li><a href="http://www.keelii.com/%e4%b8%80%e4%b8%aa%e5%be%88%e6%9c%89%e5%88%9b%e6%84%8f%e7%9a%84%e6%b1%82%e8%81%8c%e8%a7%86%e9%a2%91/" title="一个很有创意的求职视频">一个很有创意的求职视频</a></li><li><a href="http://www.keelii.com/%e5%9c%a8%e7%ba%bfphotoshop/" title="在线Photoshop">在线Photoshop</a></li><li><a href="http://www.keelii.com/css3-new-attribute-background/" title="CSS 3新增属性详解(二)&#8212;>背景">CSS 3新增属性详解(二)&#8212;>背景</a></li><li><a href="http://www.keelii.com/%e4%b8%80%e5%bc%a0%e5%9b%be%e7%89%87%e6%8e%8c%e6%8f%a1photoshop%e6%96%87%e5%ad%97%e6%8e%92%e7%89%88%e6%8a%80%e5%b7%a7/" title="一张图片掌握PhotoShop文字排版技巧!">一张图片掌握PhotoShop文字排版技巧!</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.keelii.com/rethinking-forms-in-html5/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>又一个仿写的页面</title>
		<link>http://www.keelii.com/copy-cellphone-china/</link>
		<comments>http://www.keelii.com/copy-cellphone-china/#comments</comments>
		<pubDate>Thu, 13 May 2010 03:57:05 +0000</pubDate>
		<dc:creator>kily</dc:creator>
				<category><![CDATA[网页制作相关]]></category>
		<category><![CDATA[网页设计]]></category>

		<guid isPermaLink="false">http://www.keelii.com/copy-cellphone-china/</guid>
		<description><![CDATA[ 
嗯！我承认好长时间都没做东西了，有些玩物丧志了！前两天无意中发现手机中国 。感觉整个页面效果非常好，用户体验也不错，条理清晰内容丰富。在我看来的确是一个不错的站点！
 
于是就萌生了仿写的念头。说来也惭愧，我本人感觉自己没什么创新意识，做东西也是东拼西凑，马上要找工作了也没有个像样的作品。所以也就只能仿仿人家的作品了。
虽然是仿，但从很多方面来说仿写比自主设计要难许多。可能做过的同学知道，我这里所谓的仿写绝对不是仅仅扒下HTML和CSS，而是自主写HTML结构与CSS，适当的参考原页面。所以仿写想要仿到100%几乎是不可能的！特别是相对于这类门户性网站。
边看三国边写页面搞了大概五天吧，什么时候开始的都忘了哈！由于东西过多，我也没办法把全部过程记叙下来。放上来也只是做个标记，如果大家有兴趣可以留言讨论！也可以去看看我上次写的文章-仿网易页面：http://www.keelii.com/my-copy-163/
最终效果预览
源代码与素材
相关文章Adobe CS5网页设计新特性新的个人主页上线啦CSS导航菜单自动生成CSS Tab Designer网页设计师必备资源网站博客logo更新以及相关bug的修复网易页面重构面试题网页中字体的设计与应用忙中偷闲写博客纯CSS实现图片切换效果最简单的滑动门实现]]></description>
			<content:encoded><![CDATA[<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="cellphone" border="0" alt="cellphone" src="http://www.keelii.com/wp-content/uploads/2010/05/cellphone.jpg" width="524" height="204" /> </p>
<p>嗯！我承认好长时间都没做东西了，有些玩物丧志了！前两天无意中发现<a href="http://www.cnmo.com/" target="_blank">手机中国</a> 。感觉整个页面效果非常好，用户体验也不错，条理清晰内容丰富。在我看来的确是一个不错的站点！</p>
<p> <span id="more-1574"></span>
<p>于是就萌生了仿写的念头。说来也惭愧，我本人感觉自己没什么创新意识，做东西也是东拼西凑，马上要找工作了也没有个像样的作品。所以也就只能仿仿人家的作品了。</p>
<p>虽然是仿，但从很多方面来说仿写比自主设计要难许多。可能做过的同学知道，我这里所谓的仿写绝对不是仅仅扒下HTML和CSS，而是自主写HTML结构与CSS，适当的参考原页面。所以仿写想要仿到100%几乎是不可能的！特别是相对于这类门户性网站。</p>
<p>边看三国边写页面搞了大概五天吧，什么时候开始的都忘了哈！由于东西过多，我也没办法把全部过程记叙下来。放上来也只是做个标记，如果大家有兴趣可以留言讨论！也可以去看看我上次写的文章-仿网易页面：<a title="http://www.keelii.com/my-copy-163/" href="http://www.keelii.com/my-copy-163/">http://www.keelii.com/my-copy-163/</a></p>
<p><a href="http://www.keelii.com/learning/copy-cellphone-china/index.html" rel="nofollow">最终效果预览</a></p>
<p><a href="http://www.uushare.com/user/keelii/file/2999688" rel="nofollow" target="_blank">源代码与素材</a></p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://www.keelii.com/what-is-new-in-adobecs5-for-web/" title="Adobe CS5网页设计新特性">Adobe CS5网页设计新特性</a></li><li><a href="http://www.keelii.com/new-personal-home-page/" title="新的个人主页上线啦">新的个人主页上线啦</a></li><li><a href="http://www.keelii.com/css-tab-designer/" title="CSS导航菜单自动生成CSS Tab Designer">CSS导航菜单自动生成CSS Tab Designer</a></li><li><a href="http://www.keelii.com/web-desginer-source-site/" title="网页设计师必备资源网站">网页设计师必备资源网站</a></li><li><a href="http://www.keelii.com/change-logo/" title="博客logo更新以及相关bug的修复">博客logo更新以及相关bug的修复</a></li><li><a href="http://www.keelii.com/net-ease-exam/" title="网易页面重构面试题">网易页面重构面试题</a></li><li><a href="http://www.keelii.com/font-desgin/" title="网页中字体的设计与应用">网页中字体的设计与应用</a></li><li><a href="http://www.keelii.com/my-copy-163/" title="忙中偷闲写博客">忙中偷闲写博客</a></li><li><a href="http://www.keelii.com/css-photo-switch/" title="纯CSS实现图片切换效果">纯CSS实现图片切换效果</a></li><li><a href="http://www.keelii.com/easy-jquery-slide/" title="最简单的滑动门实现">最简单的滑动门实现</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.keelii.com/copy-cellphone-china/feed/</wfw:commentRss>
		<slash:comments>38</slash:comments>
		</item>
		<item>
		<title>现在评价《新三国》还为时过早</title>
		<link>http://www.keelii.com/new-three-kingdoms/</link>
		<comments>http://www.keelii.com/new-three-kingdoms/#comments</comments>
		<pubDate>Mon, 10 May 2010 02:59:42 +0000</pubDate>
		<dc:creator>kily</dc:creator>
				<category><![CDATA[生活的事儿]]></category>
		<category><![CDATA[三国]]></category>

		<guid isPermaLink="false">http://www.keelii.com/%e7%8e%b0%e5%9c%a8%e8%af%84%e4%bb%b7%e3%80%8a%e6%96%b0%e4%b8%89%e5%9b%bd%e3%80%8b%e8%bf%98%e4%b8%ba%e6%97%b6%e8%bf%87%e6%97%a9/</guid>
		<description><![CDATA[新三国刚一播出就引来大家各种板儿砖，不仅是普通网友不满就连一些知明学者都愤愤而起。昨天我也在迅雷看看上搂完前十五集，个人感觉还是挺不错的，很喜欢饰演陶潜的那个演员，演技很赞。曹操也不错，吕布还行吧。
不知怎么现在一出四大名著剧就会有无数的批评和指责，如果没猜错的话等《新水浒》出来估计也好不到哪儿去。最有争议的无非两点：
1.剧情与历史不符：这一点大多是一些学者或者有一点历史知识的人反映的。我想说的是：《新三国》拍出来是给全国的观众看的不是给你们知识分子看的。不要觉得自己看过《三国志》听过《品三国》就可以随意评价一部剧。如果新三国剧情改成真正的历史那还有什么好看的。你说赤壁之战的主角是周瑜而不是诸葛亮对于平常的观众谁信呀！我个人认为一部好的电视剧只要娱乐观众就行，如果想学习相关知识还是去专业的地方吧。毕竟人家只是一部电视剧而已。
2.人物的演技与台词：到目前为止也就开播了十来集，有很多关键性的人物都还没出场，所以最好不要以偏概全吧！说到台词这一点我感觉也是有所改进的，台词最好还是加上古文的好。可能导拍摄的时候是“照顾”了大多数观众，白话必竟是大家都能听懂的吧！不过没有了古文的渲染历史剧看起来就没有历史的感觉了。
综上所述：我个人觉得《新三国》是一部值得大众平民观看的电视剧，至于此剧具体如何还是得大家斟酌而定。
相关文章也说赤壁]]></description>
			<content:encoded><![CDATA[<p>新三国刚一播出就引来大家各种板儿砖，不仅是普通网友不满就连一些知明学者都愤愤而起。昨天我也在迅雷看看上搂完前十五集，个人感觉还是挺不错的，很喜欢饰演陶潜的那个演员，演技很赞。曹操也不错，吕布还行吧。</p>
<p>不知怎么现在一出四大名著剧就会有无数的批评和指责，如果没猜错的话等《新水浒》出来估计也好不到哪儿去。最有争议的无非两点：</p>
<p><strong>1.剧情与历史不符</strong>：这一点大多是一些学者或者有一点历史知识的人反映的。我想说的是：《新三国》拍出来是给全国的观众看的不是给你们知识分子看的。不要觉得自己看过《三国志》听过《品三国》就可以随意评价一部剧。如果新三国剧情改成真正的历史那还有什么好看的。你说赤壁之战的主角是周瑜而不是诸葛亮对于平常的观众谁信呀！我个人认为一部好的电视剧只要娱乐观众就行，如果想学习相关知识还是去专业的地方吧。毕竟人家只是一部电视剧而已。</p>
<p><strong>2.人物的演技与台词</strong>：到目前为止也就开播了十来集，有很多关键性的人物都还没出场，所以最好不要以偏概全吧！说到台词这一点我感觉也是有所改进的，台词最好还是加上古文的好。可能导拍摄的时候是“照顾”了大多数观众，白话必竟是大家都能听懂的吧！不过没有了古文的渲染历史剧看起来就没有历史的感觉了。</p>
<p>综上所述：我个人觉得《新三国》是一部值得大众平民观看的电视剧，至于此剧具体如何还是得大家斟酌而定。</p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://www.keelii.com/talk-chibi/" title="也说赤壁">也说赤壁</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.keelii.com/new-three-kingdoms/feed/</wfw:commentRss>
		<slash:comments>43</slash:comments>
		</item>
	</channel>
</rss>
