﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>PHP博客-为了忘却的纪念   $bestmost-&gt;save("多多益善")-随笔分类-js</title><link>http://www.phpweblog.net/fuyongjie/category/504.html</link><description>言己及众</description><language>zh-cn</language><lastBuildDate>Mon, 30 Aug 2010 14:02:09 GMT</lastBuildDate><pubDate>Mon, 30 Aug 2010 14:02:09 GMT</pubDate><ttl>60</ttl><item><title>按钮不能获得焦点的一个解惑</title><link>http://www.phpweblog.net/fuyongjie/archive/2009/09/12/6878.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Sat, 12 Sep 2009 07:56:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2009/09/12/6878.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/6878.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2009/09/12/6878.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/6878.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/6878.html</trackback:ping><description><![CDATA[<p>【友情链接：<a title="天津打折促销购物" href="http://www.tjcuxiao.com" target="_blank">http://www.tjcuxiao.com</a> 和<a title="目击者 肇事 行凶 腐败 贪污" href="http://www.mujiz.cn" target="_blank">http://www.mujiz.cn</a>】<br />在我们用div模拟生成alert提示框时，这个对话框里的“确定”得不到焦点，那么就不能通过ENTER键去取消这个alert的提示框，一开始我们尝试用$('#popDivBtnWin')[0].focus()la来打算使其获得焦点，但是并未成功，很费解。后来将这个$('#popDivBtnWin')[0].focus()给写成setTimeout("$('#popDivBtnWin')[0].focus()",0);就可以了。</p><img src ="http://www.phpweblog.net/fuyongjie/aggbug/6878.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2009-09-12 15:56 <a href="http://www.phpweblog.net/fuyongjie/archive/2009/09/12/6878.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js中用undefined作判断条件</title><link>http://www.phpweblog.net/fuyongjie/archive/2009/06/24/6722.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Wed, 24 Jun 2009 06:17:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2009/06/24/6722.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/6722.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2009/06/24/6722.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/6722.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/6722.html</trackback:ping><description><![CDATA[js的一个小问题：<br /><br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id="Codehighlighter1_14_40_Open_Image" onclick="this.style.display='none'; Codehighlighter1_14_40_Open_Text.style.display='none'; Codehighlighter1_14_40_Closed_Image.style.display='inline'; Codehighlighter1_14_40_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_14_40_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_14_40_Closed_Text.style.display='none'; Codehighlighter1_14_40_Open_Image.style.display='inline'; Codehighlighter1_14_40_Open_Text.style.display='inline';" src="http://www.phpweblog.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(undefined) </span><span id="Codehighlighter1_14_40_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"></span><span id="Codehighlighter1_14_40_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/InBlock.gif" align="top" />   alert('不报错，不运行该语句');<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000">;<br /><img id="Codehighlighter1_58_84_Open_Image" onclick="this.style.display='none'; Codehighlighter1_58_84_Open_Text.style.display='none'; Codehighlighter1_58_84_Closed_Image.style.display='inline'; Codehighlighter1_58_84_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_58_84_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_58_84_Closed_Text.style.display='none'; Codehighlighter1_58_84_Open_Image.style.display='inline'; Codehighlighter1_58_84_Open_Text.style.display='inline';" src="http://www.phpweblog.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">undefined) </span><span id="Codehighlighter1_58_84_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"></span><span id="Codehighlighter1_58_84_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/InBlock.gif" align="top" />   alert('不报错，要运行该语句');<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /></span></div><h1><a herf="http://www.btcuxiao.comi">BT促销</a></h1><img src ="http://www.phpweblog.net/fuyongjie/aggbug/6722.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2009-06-24 14:17 <a href="http://www.phpweblog.net/fuyongjie/archive/2009/06/24/6722.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【隔行换色，鼠标移入高亮】</title><link>http://www.phpweblog.net/fuyongjie/archive/2009/05/20/6489.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Wed, 20 May 2009 07:09:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2009/05/20/6489.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/6489.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2009/05/20/6489.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/6489.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/6489.html</trackback:ping><description><![CDATA[<p>需要将table的id为mytable<br /><br />&lt;style type="text/css"&gt;<br />tr.even td{background:#eee;}<br />tr.over td{background:#999}<br />#mytable tr {<br /> background-color: #fff;<br />}<br />&lt;/style&gt;<br />&lt;script type="text/javascript"&gt;<br />$(document).ready(function(){<br /> $("#mytable tr").mouseover(function() {<br />   $(this).addClass("over");<br />  }).mouseout(function() {<br />   $(this).removeClass("over");<br />  });<br /> $("#mytable tr:even").addClass("even");<br />});<br /> <br />&lt;/script&gt;</p><img src ="http://www.phpweblog.net/fuyongjie/aggbug/6489.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2009-05-20 15:09 <a href="http://www.phpweblog.net/fuyongjie/archive/2009/05/20/6489.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js中match函数</title><link>http://www.phpweblog.net/fuyongjie/archive/2009/05/04/6461.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Mon, 04 May 2009 03:03:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2009/05/04/6461.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/6461.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2009/05/04/6461.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/6461.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/6461.html</trackback:ping><description><![CDATA[js中match函数方法是使用正则表达式模式对字符串执行查找，并将包含查找的结果作为数组返回。使用方法： <br />stringObj.match(rgExp) <br />其中stringObj是必选项。对其进行查找的 String 对象或字符串文字。 <br />rgExp是必选项。为包含正则表达式模式和可用标志的正则表达式对象。也可以是包含正则表达式模式和可用标志的变量名或字符串文字。 <br />如果js中match函数方法没有找到匹配，返回 null。如果找到匹配返回一个数组并且更新全局 RegExp 对象的属性以反映匹配结果。JavaScript中match函数方法返回的数组有三个属性：input、index和lastIndex。Input 属性包含整个的被查找字符串。Index 属性包含了在整个被查找字符串中匹配的子字符串的位置。LastIndex 属性包含了最后一次匹配中最后一个字符的下一个位置。如果没有设置全局标志 (g)，数组的0元素包含整个匹配，而第 1 到 n 元素包含了匹配中曾出现过的任一个子匹配。这相当于没有设置全局标志的 exec 方法。如果设置了全局标志，元素0到n中包含所有匹配。 <br /><br />下面的示例演示了js中match函数方法的用法： <br />function MatchDemo(){ <br />var r, re; // 声明变量。 <br />var s = "The rain in Spain falls mainly in the plain"; <br />re = /ain/i; // 创建正则表达式模式。 <br />r = s.match(re); // 尝试匹配搜索字符串。 <br />return(r); // 返回第一次出现 "ain" 的地方。 <br />} <br /><br />本示例说明带 g 标志设置的js中match函数方法的用法 <br />function MatchDemo(){ <br />var r, re; // 声明变量。 <br />var s = "The rain in Spain falls mainly in the plain"; <br />re = /ain/ig; // 创建正则表达式模式。 <br />r = s.match(re); // 尝试去匹配搜索字符串。 <br />return(r); // 返回的数组包含了所有 "ain" <br />// 出现的四个匹配。 <br />} <br /><br />下面几行代码演示了字符串文字的js中match函数方法的用法。 <br />var r, re = "Spain"; <br />r = "The rain in Spain".replace(re, "Canada"); <br /><br />match()方法用于从字符串中查找指定的值，本方法类似于indexOf()和lastindexOf()，不同的是它返回的是指定的值，而不是指定值在字符串中的位置。indexOf()和lastindexOf()方法返回位置数字 如果找不到返回-1。注意区分大小写 <br />&lt;script type="text/javascript"&gt; <br />var str="Hello world!" <br />document.write(str.match("world") + "") <br />document.write(str.match("World") + "") <br />document.write(str.match("worlld") + "") <br />document.write(str.match("world!")) <br />&lt;/script&gt;<img src ="http://www.phpweblog.net/fuyongjie/aggbug/6461.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2009-05-04 11:03 <a href="http://www.phpweblog.net/fuyongjie/archive/2009/05/04/6461.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js 正则表达式</title><link>http://www.phpweblog.net/fuyongjie/archive/2009/04/22/6444.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Wed, 22 Apr 2009 00:53:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2009/04/22/6444.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/6444.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2009/04/22/6444.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/6444.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/6444.html</trackback:ping><description><![CDATA[JavaScript的RegExp对象和String对象定义了使用<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式来执行强大的模式匹配和文本检索与替换函数的方法. <br />　　在JavaScript中,<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式是由一个RegExp对象表示的.当然,可以使用一个RegExp()构造函数来创建RegExp对象,也可以用 JavaScript 1.2中的新添加的一个特殊语法来创建RegExp对象.就像字符串直接量被定义为包含在引号内的字符一样,<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式直接量也被定义为包含在一对斜杠 (/)之间的字符.所以,JavaScript可能会包含如下的代码: <br />var pattern = /s$/; <br />　　这行代码创建一个新的RegExp对象,并将它赋给变量parttern.这个特殊的RegExp对象和所有以字母"s"结尾的字符串都匹配.用RegExp()也可以定义一个等价的<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式,代码如下: <br />var pattern = new RegExp("s$"); <br />　　无论是用<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式直接量还是用构造函数RegExp(),创建一个RegExp对象都是比较容易的.较为困难的任务是用<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式语法来描述字符的模式.JavaScript采用的是Perl语言<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式语法的一个相当完整的子集. <br />　　<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式的模式规范是由一系列字符构成的.大多数字符(包括所有字母数字字符)描述的都是按照字面意思进行匹配的字符.这样说来,<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式 /java/就和所有包含子串 "java" 的字符串相匹配.虽然<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式中的其它字符不是按照字面意思进行匹配的,但它们都具有特殊的意义.<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式 /s$/ 包含两个字符. <br />　　第一个特殊字符 "s" 是按照字面意思与自身相匹配.第二个字符 "$" 是一个特殊字符,它所匹配的是字符串的结尾.所以<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式 /s$/ 匹配的就是以字母 "s" 结尾 <br />的字符串. <br />　　1.直接量字符 <br />　　我们已经发现了,在<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式中所有的字母字符和数字都是按照字面意思与自身相匹配的.JavaScript的<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式还通过以反斜杠(\)开头的转义序列支持某些非 <br />　　字母字符.例如,序列 "\n" 在字符串中匹配的是一个直接量换行符.在<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式中,许多标点符号都有特殊的含义.下面是这些字符和它们的含义: <br />　　<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式的直接量字符 <br />字符 匹配 <br />________________________________ <br />字母数字字符 自身 <br />\ f 换页符 <br />\ n 换行符 <br />\ r 回车 <br />\ t 制表符 <br />\ v 垂直制表符 <br />\ / 一个 / 直接量 <br />\ \ 一个 \ 直接量 <br />\ . 一个 . 直接量 <br />\ * 一个 * 直接量 <br />\ + 一个 + 直接量 <br />\ ? 一个 ? 直接量 <br />\ | 一个 | 直接量 <br />\ ( 一个 ( 直接量 <br />\ ) 一个 ) 直接量 <br />\ [ 一个 [ 直接量 <br />\ ] 一个 ] 直接量 <br />\ { 一个 { 直接量 <br />\ } 一个 } 直接量 <br />\ XXX 由十进制数 XXX 指 定的ASCII码字符 <br />\ Xnn 由十六进制数 nn 指定的ASCII码字符 <br />\ cX 控制字符^X. 例如, \cI等价于 \t, \cJ等价于 \n <br />___________________________________________________ <br />如果想在<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式中使用特殊的标点符号,必须在它们之前加上一个 "\" . <br />　　2.字符类 <br />　　将单独的直接符放进中括号内就可以组合成字符类.一个字符类和它所包含的任何一个字符都匹配,所以<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式 / [abc] / 和字母 "a" , "b" , "c" 中的任何一个都匹配.另外还可以定义否定字符类,这些类匹配的是除那些包含在中括号之内的字符外的所有字符.定义否定字符尖时,要将一个 ^ 符号作为从左中括号算起的第一个字符.<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式的集合是 / [a-zA-z0-9] / . <br />　　由于某些字符类非常常用,所以JavaScript的<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式语法包含一些特殊字符和转义序列来表示这些常用的类.例如, \s 匹配的是空格符,制表符和其它空白符, \s匹配的则是空白符之外的任何字符. <br />　　<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表灰式的字符类 <br />字符 匹配 <br />____________________________________________________ <br />[...] 位于括号之内的任意字符 <br />[^...] 不在括号之中的任意字符 <br />. 除了换行符之外的任意字符,等价于[^\n] <br />\w 任何单字字符, 等价于[a-zA-Z0-9] <br />\W 任何非单字字符,等价于[^a-zA-Z0-9] <br />\s 任何空白符,等价于[\ t \ n \ r \ f \ v] <br />\S 任何非空白符,等价于[^\ t \ n \ r \ f \ v] <br />\d 任何数字,等价于[0-9] <br />\D 除了数字之外的任何字符,等价于[^0-9] <br />[\b] 一个退格直接量(特例) <br />________________________________________________________________ <br />　　3.复制 <br />　　用以上的<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表式的语法,可以把两位数描述成 / \ d \ d /,把四位数描述成 / \d \ d \ d \ d /.但我们还没有一种方法可以用来描述具有任意多数位的数字或者是一个 <br />　　字符串.这个串由三个字符以及跟随在字母之后的一位数字构成.这些复杂的模式使用的<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式语法指定了该表达式中每个元素要重复出现的次数. <br />　　指定复制的字符总是出现在它们所作用的模式后面.由于某种复制类型相当常用.所以有一些特殊的字符专门用于表示它们.例如: +号匹配的就是复制前一模式一次或多次的模式.下面的表列出了复制语法.先看一个例子: <br />/\d{2, 4}/ //匹配2到4间的数字. <br />/\w{3} \d?/ //匹配三个单字字符和一个任意的数字. <br />/\s+java\s+/ //匹配字符串"java" ,并且该串前后可以有一个或多个空格. <br />/[^"] * / //匹配零个或多个非引号字符. <br />　　<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式的复制字符 <br />字符 含义 <br />__________________________________________________________________ <br />{n, m} 匹配前一项至少n次,但是不能超过m次 <br />{n, } 匹配前一项n次,或者多次 <br />{n} 匹配前一项恰好n次 <br />? 匹配前一项0次或1次,也就是说前一项是可选的. 等价于 {0, 1} <br />+ 匹配前一项1次或多次,等价于{1,} <br />* 匹配前一项0次或多次.等价于{0,} <br />___________________________________________________________________ <br />　　4.选择,分组和引用 <br />　　<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式的语法还包括指定选择项,对子表达式分组和引用前一子表达式的特殊字符.字符| 用于分隔供选择的字符.例如: /ab|cd|ef/ 匹配的是字符串 "ab",或者是字符串 "cd",又或者 "ef". /\d{3}|[a-z]{4}/ 匹配的是要么是一个三位数,要么是四个小写字母.在<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式中括号具有几种作用.它的主要作用是把单独的项目分组成子表达式,以便可以像处理一个独立的单元那种用 *、+或? 来处理那些项目.例如: /java(script) ?/ 匹配的是字符串 "java",其后既可以有 "script",也可以没有. /(ab|cd) + |ef) / 匹配的既可以是字符串 "ef",也可以是字符串"ab" 或者 "cd" 的一次或多次重复. <br />　　在<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式中,括号的第二个用途是在完整的模式中定义子模式。当一个<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式成功地和目标字符串相匹配时,可以从目标串中抽出和括号中的子模式相匹配的部分.例如,假定我们正在检索的模式是一个或多个字母后面跟随一位或多位数字,那么我们可以使用模式 / [a-z] + \ d+/.但是由于假定我们真正关心的是每个匹配尾部的数字,那么如果我们将模式的数字部分放在括号中 (/ [a-z] + (\d+)/) ,我们就可以从所检索到的任何匹配中抽取数字了,之后我们会对此进行解析的. <br />　　代括号的子表达式的另一个用途是,允许我们在同一<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式的后面引用前面的子表达式.这是通过在字符串 \ 后加一位或多位数字来实现的.数字指的是代括号的子表达式在<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式中的位置.例如: \1 引用的是第一个代括号的子表达式. \3 引用的是第三个代括号的子表达式.注意,由于子表达式可以嵌套在其它子表达式中,所以它的位置是被计数的左括号的位置. <br />　　例如:在下面的<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式被指定为 \2: <br />/([Jj]ava([Ss]cript)) \sis \s (fun\w*) / <br />　　对<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式中前一子表达式的引用所指定的并不是那个子表达式的模式,而是与那个模式相匹配的文本.这样,引用就不只是帮助你输入<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式的重复部分的快捷方式了,它还实施了一条规约,那就是一个字符串各个分离的部分包含的是完全相同的字符.例如:下面的<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式匹配的就是位于单引号或双引号之内的所有字符.但是,它要求开始和结束的引号匹配(例如两个都是双引号或者都是单引号): <br />/[' "] [^ ' "]*[' "]/ <br />　　如果要求开始和结束的引号匹配,我们可以使用如下的引用: <br />/( [' "] ) [^ ' "] * \1/ <br />　　\1匹配的是第一个代括号的子表达式所匹配的模式.在这个例子中,它实施了一种规约,那就是开始的引号必须和结束的引号相匹配.注意,如果反斜杠后跟随的数字比代括号的子表达式数多,那么它就会被解析为一个十进制的转义序列,而不是一个引用.你可以坚持使用完整的三个字符来表示转义序列,这们就可以避免混淆了.例如,使用 \044,而不是\44.下面是<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式的选择、分组和引用字符: <br />字符 含义 <br />______________________________________ <br />| 选择.匹配的要么是该符号左边的子表达式,要么它右边的子表达式 <br />(...) 分组.将几个项目分为一个单元.这个单元可由 *、+、？和|等符号使用,而且还可以记住和这个组匹配的字符以供此后引用使用 <br />\n 和第n个分组所匹配的字符相匹配.分组是括号中的子表达式(可能是嵌套的).分组号是从左到右计数的左括号数 <br />______________________________________ <br />　　5.指定匹配的位置 <br />　　我们已经看到了,一个<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式中的许多元素才能够匹配字符串的一个字符.例如: \s 匹配的只是一个空白符.还有一些<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式的元素匹配的是字符之间宽度为0的空间,而不是实际的字符例如: \b 匹配的是一个词语的边界,也就是处于一个/w字字符和一个\w非字字符之间的边界.像\b 这样的字符并不指定任何一个匹配了的字符串中的字符,它们指定的是匹配所发生的合法位置.有时我们称这些元素为<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式的锚.因为它们将模式定位在检索字符串中的一个特定位置.最常用的锚元素是 ^, 它使模式依赖于字符串的开头,而锚元素$则使模式定位在字符串的末尾. <br />　　例如:要匹配词 "javascript" ,我们可以使用<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式 /^ javascript $/. 如果我们想检索 "java" 这个词自身 (不像在 "javascript" 中那样作为前缀),那么我们可以使用模式 /\s java \s /, 它要求在词语java之前和之后都有空格.但是这样作有两个问题.第一: 如果 "java" 出现在一个字符的开头或者是结尾.该模式就不会与之匹配,除非在开头和结尾处有一个空格. 第二: 当这个模式找到一个与之匹配的字符时,它返回的匹配的字符串前端和后端都有空格,这并不是我们想要的.因此,我们使用词语的边界 \b 来代替真正的空格符 \s 进行匹配. 结果表达式是 /\b java \b/. <br />下面是<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式的锚字符: <br />字符 含义 <br />____________________________________________________________________ <br />^ 匹配的是字符的开头,在多行检索中,匹配的是一行的开头 <br />$ 匹配的是字符的结尾,在多行检索中,匹配的是一行的结尾 <br />\b 匹配的是一个词语的边界.简而言之就是位于字符\w 和 \w之间的位置(注意:[\b]匹配的是退格符) <br />\B 匹配的是非词语的边界的字符 <br />_____________________________________________________________________ <br />　　6.属性 <br />　　有关<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式的语法还有最后一个元素,那就是<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式的属性,它说明的是高级模式匹配的规则.和其它<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式语法不同,属性是在 / 符号之外说明的.即它们不出现在两个斜杠之间,而是位于第二个斜杠之后.javascript 1.2支持两个属性.属性 i 说明模式匹配应该是大小写不敏感的.属性 g 说明模式匹配应该是全局的.也就是说,应该找出被检索的字符串中所有的匹配.这两种属性联合起来就可以执行一个全局的,大小写不敏感的匹配. <br />　　例如: 要执行一个大小不敏感的检索以找到词语 "java" (或者是 "java" 、"JAVA"等) 的第一个具体值,我们可以使用大小不敏感的<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式 /\b java\b/i .如果要在一个字符串中找到 "java" 所有的具体值,我们还可以添加属性 g, 即 /\b java \b/gi . <br />以下是<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式的属性: <br />字符 含义 <br />_________________________________________ <br />i 执行大小写不敏感的匹配 <br />g 执行一个全局的匹配,简而言之,就是找到所有的匹配,而不是在找到第一个之后就停止了 <br />_________________________________________ <br />　　除属性 g 和 i 之外,<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式就没有其它像属性一样的特性了.如果将构造函数 RegExp 的静态属性 multiline 设置为 true ,那么模式匹配将以多行的模式进行.在这种模式下,锚字符 ^ 和 $ 匹配的不只是检索字符串的开头和结尾,还匹配检索字符串内部的一行的开头和结尾.例如: 模式 /Java$/ 匹配的是 "Java",但是并不匹配"Java\nis fun" .如果我们设置了 multiline 属性,那么后者也将被匹配: <br />RegExp.multiline = true; <br />　　<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式(regular expression)对象包含一个<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式模式(pattern)。它具有用<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式模式去匹配或代替一个串(string)中特定字符(或字符集合)的属性(properties)和方法(methods)。要为一个单独的<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式添加属性,可以使用<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式构造函数(constructor function)，无论何时被调用的预设置的<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式拥有静态的属性(the predefined RegExp object has static properties that are set whenever any regular expression is used, 我不知道我翻得对不对，将原文列出，请自行翻译)。 <br />创建： <br />一个文本格式或<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式构造函数 <br />文本格式： /pattern/flags <br /><a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式构造函数： new RegExp("pattern"[,"flags"]); <br />参数说明： <br />pattern -- 一个<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式文本 <br />flags -- 如果存在，将是以下值： <br />g: 全局匹配 <br />i: 忽略大小写 <br />gi: 以上组合 <br />[注意] 文本格式的参数不用引号，而在用构造函数时的参数需要引号。如：/ab+c/i new RegExp("ab+c","i")是实现一样的功能。在构造函数中，一些特殊字符需要进行转意(在特殊字符前加"\")。如：re = new RegExp("\\w+") <br />　　<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式中的特殊字符 <br />字符 含意 <br />\ 做为转意，即通常在"\"后面的字符不按原来意义解释，如/b/匹配字符"b"，当b前面加了反斜杆后/\b/，转意为匹配一个单词的边界。 <br />-或- <br />对<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式功能字符的还原，如"*"匹配它前面元字符0次或多次，/a*/将匹配a,aa,aaa，加了"\"后，/a\*/将只匹配"a*"。 <br />^ 匹配一个输入或一行的开头，/^a/匹配"an A"，而不匹配"An a" <br />$ 匹配一个输入或一行的结尾，/a$/匹配"An a"，而不匹配"an A" <br />* 匹配前面元字符0次或多次，/ba*/将匹配b,ba,baa,baaa <br />+ 匹配前面元字符1次或多次，/ba*/将匹配ba,baa,baaa <br />? 匹配前面元字符0次或1次，/ba*/将匹配b,ba <br />(x) 匹配x保存x在名为$1...$9的变量中 <br />x|y 匹配x或y <br />{n} 精确匹配n次 <br />{n,} 匹配n次以上 <br />{n,m} 匹配n-m次 <br />[xyz] 字符集(character set)，匹配这个集合中的任一一个字符(或元字符) <br />[^xyz] 不匹配这个集合中的任何一个字符 <br />[\b] 匹配一个退格符 <br />\b 匹配一个单词的边界 <br />\B 匹配一个单词的非边界 <br />\cX 这儿，X是一个控制符，/\cM/匹配Ctrl-M <br />\d 匹配一个字数字符，/\d/ = /[0-9]/ <br />\D 匹配一个非字数字符，/\D/ = /[^0-9]/ <br />\n 匹配一个换行符 <br />\r 匹配一个回车符 <br />\s 匹配一个空白字符，包括\n,\r,\f,\t,\v等 <br />\S 匹配一个非空白字符，等于/[^\n\f\r\t\v]/ <br />\t 匹配一个制表符 <br />\v 匹配一个重直制表符 <br />\w 匹配一个可以组成单词的字符(alphanumeric，这是我的意译，含数字)，包括下划线，如[\w]匹配"$5.98"中的5，等于[a-zA-Z0-9] <br />\W 匹配一个不可以组成单词的字符，如[\W]匹配"$5.98"中的$，等于[^a-zA-Z0-9]。 <br /><br />　　说了这么多了，我们来看一些<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式的实际应用的例子： <br />E-mail地址验证: <br />function test_email(strEmail) { <br />var myReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/; <br />if(myReg.test(strEmail)) return true; <br />return false; <br />} <br />HTML代码的屏蔽 <br />function mask_HTMLCode(strInput) { <br />var myReg = /&lt;(\w+)&gt;/; <br />return strInput.replace(myReg, "&lt;$1&gt;"); <br />} <br /><a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式对象的属性及方法 <br />　　预定义的<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式拥有有以下静态属性：input, multiline, lastMatch, lastParen, leftContext, rightContext和$1到$9。其中input和multiline可以预设置。其他属性的值在执行过exec或test方法后被根据不同条件赋以不同的值。许多属性同时拥有长和短(perl风格)的两个名字，并且，这两个名字指向同一个值。(JavaScript模拟perl的<a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式) <br /><a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式对象的属性 属性 含义 <br />$1...$9 如果它(们)存在，是匹配到的子串 <br />$_ 参见input <br />$* 参见multiline <br />$&amp; 参见lastMatch <br />$+ 参见lastParen <br />$` 参见leftContext <br />$'　　　　　　　　　 参见rightContext <br />constructor　　　 创建一个对象的一个特殊的函数原型 <br />global　　　　　　 是否在整个串中匹配(bool型) <br />ignoreCase　　　　 匹配时是否忽略大小写(bool型) <br />input　　　　　　　 被匹配的串 <br />lastIndex　　　　 最后一次匹配的索引 <br />lastParen　　　　 最后一个括号括起来的子串 <br />leftContext　　　 最近一次匹配以左的子串 <br />multiline　　　　 是否进行多行匹配(bool型) <br />prototype　　　　 允许附加属性给对象 <br />rightContext　　　 最近一次匹配以右的子串 <br />source　　　　　　 <a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式模式 <br />lastIndex　　　　 最后一次匹配的索引 <br /><a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式对象的方法 <br />方法 含义 <br />compile　　　　　 <a href="http://www.jb51.net/list/list_6_1.htm" target="_blank"><font color="red">正则</font></a>表达式比较 <br />exec　　　　　　　 执行查找 <br />test　　　　　　　 进行匹配 <br />toSource　　　　　 返回特定对象的定义(literal representing)，其值可用来创建一个新的对象。重载Object.toSource方法得到的。 <br />toString　　　　　 返回特定对象的串。重载Object.toString方法得到的。 <br />valueOf　　　　　 返回特定对象的原始值。重载Object.valueOf方法得到 <br />例子 <br />将输出"Smith, John" <!--NEWSZW_HZH_END--><div class="adall tc"><script src="http://img.jb51.net/imgby/con_bottom.js" type="text/javascript"></script></div><img src ="http://www.phpweblog.net/fuyongjie/aggbug/6444.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2009-04-22 08:53 <a href="http://www.phpweblog.net/fuyongjie/archive/2009/04/22/6444.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JS:attachEvent和addEventListener 使用方法（ff和ie）</title><link>http://www.phpweblog.net/fuyongjie/archive/2009/03/25/6399.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Wed, 25 Mar 2009 05:51:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2009/03/25/6399.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/6399.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2009/03/25/6399.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/6399.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/6399.html</trackback:ping><description><![CDATA[attachEvent方法，为某一事件附加其它的处理事件。（不支持Mozilla系列）<br /><div class="textbox-content" id="textboxContent"><br />addEventListener方法 用于 Mozilla系列<br /><br />举例:
<div class="code"><div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;"><div><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><span style="color: rgb(0, 0, 0);">document.getElementById(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">btn</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">).onclick </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> method1;<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />document.getElementById(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">btn</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">).onclick </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> method2;<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />document.getElementById(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">btn</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">).onclick </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> method3;</span></div></div></div>
如果这样写,那么将会只有medhot3被执行<br /><br />写成这样：<br /><div class="code"><div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;"><div><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);"> btn1Obj </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> document.getElementById(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">btn1</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">); <br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">object.attachEvent(event,function);</span><span style="color: rgb(0, 128, 0);"><br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: rgb(0, 0, 0);">btn1Obj.attachEvent(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">onclick</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,method1);<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />btn1Obj.attachEvent(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">onclick</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,method2);<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />btn1Obj.attachEvent(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">onclick</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,method3);</span></div></div></div>
执行顺序为method3-&gt;method2-&gt;method1<br /><br />如果是Mozilla系列，并不支持该方法，需要用到addEventListener
<div class="code"><div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;"><div><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);"> btn1Obj </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> document.getElementById(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">btn1</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">);<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">element.addEventListener(type,listener,useCapture);</span><span style="color: rgb(0, 128, 0);"><br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: rgb(0, 0, 0);">btn1Obj.addEventListener(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">click</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,method1,</span><span style="color: rgb(0, 0, 255);">false</span><span style="color: rgb(0, 0, 0);">);<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />btn1Obj.addEventListener(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">click</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,method2,</span><span style="color: rgb(0, 0, 255);">false</span><span style="color: rgb(0, 0, 0);">);<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />btn1Obj.addEventListener(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">click</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,method3,</span><span style="color: rgb(0, 0, 255);">false</span><span style="color: rgb(0, 0, 0);">);</span></div></div></div>
执行顺序为method1-&gt;method2-&gt;method3<br /><br />使用实例：<br /><br /><div class="code"><div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;"><div><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);">。 <br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);"> el </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> EDITFORM_DOCUMENT.body; <br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">先取得对象，EDITFORM_DOCUMENT实为一个iframe</span><span style="color: rgb(0, 128, 0);"><br /><img id="_98_155_Open_Image" onclick="this.style.display='none'; document.getElementById('_98_155_Open_Text').style.display='none'; document.getElementById('_98_155_Closed_Image').style.display='inline'; document.getElementById('_98_155_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="_98_155_Closed_Image" style="display: none;" onclick="this.style.display='none'; document.getElementById('_98_155_Closed_Text').style.display='none'; document.getElementById('_98_155_Open_Image').style.display='inline'; document.getElementById('_98_155_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);"> (el.addEventListener)</span><span id="_98_155_Closed_Text" style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);">...</span><span id="_98_155_Open_Text"><span style="color: rgb(0, 0, 0);">{<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /> el.addEventListener(</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">click</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">, KindDisableMenu, </span><span style="color: rgb(0, 0, 255);">false</span><span style="color: rgb(0, 0, 0);">);<br /><img id="_181_228_Open_Image" onclick="this.style.display='none'; document.getElementById('_181_228_Open_Text').style.display='none'; document.getElementById('_181_228_Closed_Image').style.display='inline'; document.getElementById('_181_228_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="_181_228_Closed_Image" style="display: none;" onclick="this.style.display='none'; document.getElementById('_181_228_Closed_Text').style.display='none'; document.getElementById('_181_228_Open_Image').style.display='inline'; document.getElementById('_181_228_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" />}</span></span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">else</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);"> (el.attachEvent)</span><span id="_181_228_Closed_Text" style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);">...</span><span id="_181_228_Open_Text"><span style="color: rgb(0, 0, 0);">{<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /> el.attachEvent(</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">onclick</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">, KindDisableMenu);<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: rgb(0, 0, 0);"><br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: rgb(0, 0, 0);">2</span><span style="color: rgb(0, 0, 0);">。 <br /><img id="_263_312_Open_Image" onclick="this.style.display='none'; document.getElementById('_263_312_Open_Text').style.display='none'; document.getElementById('_263_312_Closed_Image').style.display='inline'; document.getElementById('_263_312_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="_263_312_Closed_Image" style="display: none;" onclick="this.style.display='none'; document.getElementById('_263_312_Closed_Text').style.display='none'; document.getElementById('_263_312_Open_Image').style.display='inline'; document.getElementById('_263_312_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);"> (window.addEventListener) </span><span id="_263_312_Closed_Text" style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);">...</span><span id="_263_312_Open_Text"><span style="color: rgb(0, 0, 0);">{<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /> window.addEventListener(</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">load</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">, _uCO, </span><span style="color: rgb(0, 0, 255);">false</span><span style="color: rgb(0, 0, 0);">);<br /><img id="_343_382_Open_Image" onclick="this.style.display='none'; document.getElementById('_343_382_Open_Text').style.display='none'; document.getElementById('_343_382_Closed_Image').style.display='inline'; document.getElementById('_343_382_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="_343_382_Closed_Image" style="display: none;" onclick="this.style.display='none'; document.getElementById('_343_382_Closed_Text').style.display='none'; document.getElementById('_343_382_Open_Image').style.display='inline'; document.getElementById('_343_382_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" />}</span></span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">else</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);"> (window.attachEvent) </span><span id="_343_382_Closed_Text" style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);">...</span><span id="_343_382_Open_Text"><span style="color: rgb(0, 0, 0);">{<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /> window.attachEvent(</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">onload</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">, _uCO);<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div></div></div></div><img src ="http://www.phpweblog.net/fuyongjie/aggbug/6399.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2009-03-25 13:51 <a href="http://www.phpweblog.net/fuyongjie/archive/2009/03/25/6399.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>php中utf-8编码和GB2312编码下用正则表达式如何匹配汉字</title><link>http://www.phpweblog.net/fuyongjie/archive/2009/03/10/6373.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Tue, 10 Mar 2009 02:16:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2009/03/10/6373.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/6373.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2009/03/10/6373.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/6373.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/6373.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">在网上找了很久</span><span style="color: #000000;"><img src="http://www.phpweblog.net/Images/dot.gif"><img src="http://www.phpweblog.net/Images/dot.gif">.</span><span style="color: #000000;"><br></span><span style="color: #000000;">-------------------------------------------------------------------------------------------------------------------</span><span style="color: #000000;"><br>在javascript中，要判断字符串是中文是很简单的。比如：<br></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;str&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">php编程</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br></span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">/^</span><span style="color: #000000;">[\u4e00</span><span style="color: #000000;">-</span><span style="color: #000000;">\u9fa5]</span><span style="color: #000000;">+</span><span style="color: #000000;">$</span><span style="color: #000000;">/.</span><span style="color: #000000;">test(str))&nbsp;{<br>alert(</span><span style="color: #000000;">"</span><span style="color: #000000;">该字符串全部是中文</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>}&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;{<br>alert(</span><span style="color: #000000;">"</span><span style="color: #000000;">该字符串不全部是中文</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>}<br><br>想当然的，在php中来判断字符串是否为中文，就会沿袭这个思路：<br></span><span style="color: #000000;">&lt;?</span><span style="color: #000000;">php<br></span><span style="color: #800080;">$str</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">php编程</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br></span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #008080;">preg_match</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">/^[\u4e00-\u9fa5]+$/</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #800080;">$str</span><span style="color: #000000;">))&nbsp;{<br></span><span style="color: #0000ff;">print</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">该字符串全部是中文</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>}&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;{<br></span><span style="color: #0000ff;">print</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">该字符串不全部是中文</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>}<br></span><span style="color: #000000;">?&gt;</span><span style="color: #000000;"><br><br>不过，很快就会发现，php并不支持这样的表达，报错：<br>Warning</span><span style="color: #000000;">:</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">preg_match</span><span style="color: #000000;">()&nbsp;[</span><span style="color: #0000ff;">function</span><span style="color: #000000;">.</span><span style="color: #000000;">preg</span><span style="color: #000000;">-</span><span style="color: #000000;">match]</span><span style="color: #000000;">:</span><span style="color: #000000;">&nbsp;Compilation&nbsp;failed</span><span style="color: #000000;">:</span><span style="color: #000000;">&nbsp;PCRE&nbsp;does&nbsp;not&nbsp;support&nbsp;\L</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;\l</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;\N</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;\U</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;or&nbsp;\u&nbsp;at&nbsp;offset&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;in&nbsp;test</span><span style="color: #000000;">.</span><span style="color: #000000;">php&nbsp;on&nbsp;line&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;"><br><br>刚开始从google上查了很多次，想从php正则表达式对于十六进制数据的表达方式上进行突破，发现在php中，是用\x表示十六进制数据的。于是，变换成如下的代码：<br></span><span style="color: #800080;">$str</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">php编程</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br></span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #008080;">preg_match</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">/^[\x4e00-\x9fa5]+$/</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #800080;">$str</span><span style="color: #000000;">))&nbsp;{<br></span><span style="color: #0000ff;">print</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">该字符串全部是中文</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>}&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;{<br></span><span style="color: #0000ff;">print</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">该字符串不全部是中文</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>}<br>貌似不报错了，判断的结果也正确，不过把</span><span style="color: #800080;">$str换成</span><span style="color: #000000;">&#8220;编程&#8221;两字，结果却还是显示&#8220;该字符串不全部是中文&#8221;，看来这样的判断还是不够准确。<br><br>后来跑回百度搜&#8220;php&nbsp;匹配汉字&nbsp;utf&nbsp;</span><span style="color: #000000;">8</span><span style="color: #000000;">&#8221;，发现文章的匹配程度竟然要比google的高多了，看来百度的&#8220;百度更懂中文&#8221;还在一定程度上是正确的。在第二篇文章《★★★&nbsp;求UTF8下匹配汉字的正则</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;在线等</span><span style="color: #000000;"><img src="http://www.phpweblog.net/Images/dot.gif"><img src="http://www.phpweblog.net/Images/dot.gif"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span style="color: #000000;">》中看到了如下的一些内容：<br><br>楼主zhiin（┈&nbsp;Jcan&nbsp;┈）</span><span style="color: #000000;">2006</span><span style="color: #000000;">-</span><span style="color: #000000;">11</span><span style="color: #000000;">-</span><span style="color: #000000;">15</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">15</span><span style="color: #000000;">:</span><span style="color: #000000;">59</span><span style="color: #000000;">:</span><span style="color: #000000;">30</span><span style="color: #000000;">&nbsp;在&nbsp;Web&nbsp;开发&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">&nbsp;PHP&nbsp;提问<br><br>求UTF8下匹配汉字的正则</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;不包括全角字符及特殊符号</span><span style="color: #000000;">!</span><span style="color: #000000;"><br>&nbsp;&nbsp;<br>网上只能找到匹配全角字符的正则</span><span style="color: #000000;">:</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">^</span><span style="color: #000000;">[\x80</span><span style="color: #000000;">-</span><span style="color: #000000;">\xff]</span><span style="color: #000000;">*^/</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;<br>[\u4e00</span><span style="color: #000000;">-</span><span style="color: #000000;">\u9fa5]可以匹配中文</span><span style="color: #000000;">,</span><span style="color: #000000;">但是PHP又不支持&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;<br>郁闷中</span><span style="color: #000000;"><img src="http://www.phpweblog.net/Images/dot.gif"><img src="http://www.phpweblog.net/Images/dot.gif">.</span><span style="color: #000000;"><br><br></span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;楼PleaseDoTellMeWhy（Allah&nbsp;bless&nbsp;you</span><span style="color: #000000;">!</span><span style="color: #000000;">）回复于&nbsp;</span><span style="color: #000000;">2006</span><span style="color: #000000;">-</span><span style="color: #000000;">11</span><span style="color: #000000;">-</span><span style="color: #000000;">15</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">16</span><span style="color: #000000;">:</span><span style="color: #000000;">04</span><span style="color: #000000;">:</span><span style="color: #000000;">55</span><span style="color: #000000;">&nbsp;得分&nbsp;</span><span style="color: #000000;">11</span><span style="color: #000000;"><br><br></span><span style="color: #008080;">chr</span><span style="color: #000000;">(</span><span style="color: #000000;">0xa1</span><span style="color: #000000;">)&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">.</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">-</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">.</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">chr</span><span style="color: #000000;">(</span><span style="color: #000000;">0xff</span><span style="color: #000000;">)可以匹配所有中文</span><span style="color: #000000;">,</span><span style="color: #000000;">但是不知道在UTF</span><span style="color: #000000;">-</span><span style="color: #000000;">8下如何</span><span style="color: #000000;">!</span><span style="color: #000000;">Top<br></span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;楼zhiin（┈&nbsp;Jcan&nbsp;┈）回复于&nbsp;</span><span style="color: #000000;">2006</span><span style="color: #000000;">-</span><span style="color: #000000;">11</span><span style="color: #000000;">-</span><span style="color: #000000;">15</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">16</span><span style="color: #000000;">:</span><span style="color: #000000;">11</span><span style="color: #000000;">:</span><span style="color: #000000;">34</span><span style="color: #000000;">&nbsp;得分&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;"><br><br>即使在gb2312下</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">chr</span><span style="color: #000000;">(</span><span style="color: #000000;">0xa1</span><span style="color: #000000;">)&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">.</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">-</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">.</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">chr</span><span style="color: #000000;">(</span><span style="color: #000000;">0xff</span><span style="color: #000000;">)&nbsp;&nbsp;&nbsp;也不对<br>它把全角符号也匹配进来了Top<br></span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;楼xuzuning（唠叨）回复于&nbsp;</span><span style="color: #000000;">2006</span><span style="color: #000000;">-</span><span style="color: #000000;">11</span><span style="color: #000000;">-</span><span style="color: #000000;">15</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">16</span><span style="color: #000000;">:</span><span style="color: #000000;">19</span><span style="color: #000000;">:</span><span style="color: #000000;">56</span><span style="color: #000000;">&nbsp;得分&nbsp;</span><span style="color: #000000;">90</span><span style="color: #000000;"><br><br>模式修正符：&nbsp;&nbsp;&nbsp;u&nbsp;&nbsp;<br><br>按照这几位提供的线索逐个试了一下，发现还真的如他们所说，可能还跟编码有关系，因此需要了解一下模式修正符的相关知识——于是继续搜索百度。<br><br>在一篇《模式修正符》的文章中了解到：<br><br>u&nbsp;(PCRE_UTF8)<br><br>&nbsp;&nbsp;&nbsp;&nbsp;此修正符启用了一个&nbsp;PCRE&nbsp;中与&nbsp;Perl&nbsp;不兼容的额外功能。模式字符串被当成&nbsp;UTF</span><span style="color: #000000;">-</span><span style="color: #000000;">8</span><span style="color: #000000;">。本修正符在&nbsp;Unix&nbsp;下自&nbsp;PHP&nbsp;</span><span style="color: #000000;">4.1</span><span style="color: #000000;">.</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;起可用，在&nbsp;win32&nbsp;下自&nbsp;PHP&nbsp;</span><span style="color: #000000;">4.2</span><span style="color: #000000;">.</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;起可用。<br>&nbsp;&nbsp;&nbsp;&nbsp;例子</span><span style="color: #000000;">:</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">preg_match</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">/[\x{2460}-\x{2468}]/u</span><span style="color: #000000;">'</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$str</span><span style="color: #000000;">);&nbsp;&nbsp;&nbsp;匹配&nbsp;内码汉字<br>按照他提供的方式进行测试，代码如下：<br><br></span><span style="color: #800080;">$str</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">php编程</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br></span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #008080;">preg_match</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">/^[\x{2460}-\x{2468}]+$/u</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #800080;">$str</span><span style="color: #000000;">))&nbsp;{<br></span><span style="color: #0000ff;">print</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">该字符串全部是中文</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>}&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;{<br></span><span style="color: #0000ff;">print</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">该字符串不全部是中文</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>}<br><br>发现这次依然对是否为中文判断失常。不过，既然\x表示的十六进制数据，为什么和js里边提供的范围\x4e00</span><span style="color: #000000;">-</span><span style="color: #000000;">\x9fa5不一样呢？于是我就换成了下边的代码：<br></span><span style="color: #800080;">$str</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">php编程</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br></span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #008080;">preg_match</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">/^[\x4e00-\x9fa5]+$/u</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #800080;">$str</span><span style="color: #000000;">))&nbsp;{<br></span><span style="color: #0000ff;">print</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">该字符串全部是中文</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>}&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;{<br></span><span style="color: #0000ff;">print</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">该字符串不全部是中文</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>}<br>本来以为铁定成功了的事情，没想到，warning又一次产生了：<br>Warning</span><span style="color: #000000;">:</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">preg_match</span><span style="color: #000000;">()&nbsp;[</span><span style="color: #0000ff;">function</span><span style="color: #000000;">.</span><span style="color: #000000;">preg</span><span style="color: #000000;">-</span><span style="color: #000000;">match]</span><span style="color: #000000;">:</span><span style="color: #000000;">&nbsp;Compilation&nbsp;failed</span><span style="color: #000000;">:</span><span style="color: #000000;">&nbsp;invalid&nbsp;UTF</span><span style="color: #000000;">-</span><span style="color: #000000;">8</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;at&nbsp;offset&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">&nbsp;in&nbsp;test</span><span style="color: #000000;">.</span><span style="color: #000000;">php&nbsp;on&nbsp;line&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;"><br>看来又有错误的表达方式了，于是对照了一下那篇文章的表达方式，给&#8220;</span><span style="color: #000000;">4e00</span><span style="color: #000000;">&#8221;和&#8220;9fa5&#8221;两边分别用</span><span style="color: #000000;">"</span><span style="color: #000000;">{</span><span style="color: #000000;">"</span><span style="color: #000000;">和&#8220;}&#8221;包起来，跑了一遍，发现真的准确了：<br></span><span style="color: #800080;">$str</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">php编程</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br></span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #008080;">preg_match</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">/^[\x{4e00}-\x{9fa5}]+$/u</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #800080;">$str</span><span style="color: #000000;">))&nbsp;{<br></span><span style="color: #0000ff;">print</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">该字符串全部是中文</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>}&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;{<br></span><span style="color: #0000ff;">print</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">该字符串不全部是中文</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>}<br><br>知道了php中utf</span><span style="color: #000000;">-</span><span style="color: #000000;">8编码下用正则表达式匹配汉字的最终正确表达式——</span><span style="color: #000000;">/^</span><span style="color: #000000;">[\x{</span><span style="color: #000000;">4e00</span><span style="color: #000000;">}</span><span style="color: #000000;">-</span><span style="color: #000000;">\x{9fa5}]</span><span style="color: #000000;">+</span><span style="color: #000000;">$</span><span style="color: #000000;">/</span><span style="color: #000000;">u，于是我又用这个表达式去百度搜索，发现竟然还真有别人得出过这样正确的结论，只不过通过常规的方式很难找到而已，而且仅仅搜到有一篇——《用正则删除汉字》，看来互联网上对于信息的正确性的筛选还是亟待加强的。<br><br>ps：对google不死心，也搜索了一下，又发现了一篇文章《php常用类》，还是在百度空间的，呵呵，有意思！<br></span><span style="color: #000000;">----------------------------------------------------------------------------------------------------------------------------------</span><span style="color: #000000;"><br>参考以上文章写了如下一段测试代码(复制以下代码保存成</span><span style="color: #000000;">.</span><span style="color: #000000;">php文件)<br><br></span><span style="color: #000000;">&lt;?</span><span style="color: #000000;">php<br></span><span style="color: #800080;">$action</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">trim</span><span style="color: #000000;">(</span><span style="color: #800080;">$_GET</span><span style="color: #000000;">[</span><span style="color: #000000;">'</span><span style="color: #000000;">action</span><span style="color: #000000;">'</span><span style="color: #000000;">]);<br></span><span style="color: #0000ff;">if</span><span style="color: #000000;">(</span><span style="color: #800080;">$action</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">sub</span><span style="color: #000000;">"</span><span style="color: #000000;">)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800080;">$str</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$_POST</span><span style="color: #000000;">[</span><span style="color: #000000;">'</span><span style="color: #000000;">dir</span><span style="color: #000000;">'</span><span style="color: #000000;">];&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">if(!preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/",$str))&nbsp;//GB2312汉字字母数字下划线正则表达式</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(</span><span style="color: #000000;">!</span><span style="color: #008080;">preg_match</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #800080;">$str</span><span style="color: #000000;">))&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">UTF-8汉字字母数字下划线正则表达式</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">echo</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&lt;font&nbsp;color=red&gt;您输入的[</span><span style="color: #000000;">"</span><span style="color: #000000;">.</span><span style="color: #800080;">$str</span><span style="color: #000000;">.</span><span style="color: #000000;">"</span><span style="color: #000000;">]含有违法字符&lt;/font&gt;</span><span style="color: #000000;">"</span><span style="color: #000000;">;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">echo</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&lt;font&nbsp;color=green&gt;您输入的[</span><span style="color: #000000;">"</span><span style="color: #000000;">.</span><span style="color: #800080;">$str</span><span style="color: #000000;">.</span><span style="color: #000000;">"</span><span style="color: #000000;">]完全合法,通过!&lt;/font&gt;</span><span style="color: #000000;">"</span><span style="color: #000000;">;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>}<br></span><span style="color: #000000;">?&gt;</span><span style="color: #000000;"><br></span><span style="color: #000000;">&lt;</span><span style="color: #000000;">form&nbsp;method</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">POST</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;action</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">?action=sub</span><span style="color: #000000;">"</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br>输入字符(数字</span><span style="color: #000000;">,</span><span style="color: #000000;">字母</span><span style="color: #000000;">,</span><span style="color: #000000;">汉字</span><span style="color: #000000;">,</span><span style="color: #000000;">下划线)</span><span style="color: #000000;">:</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">input&nbsp;type</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">text</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;name</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">dir</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;value</span><span style="color: #000000;">=</span><span style="color: #000000;">""</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">input&nbsp;type</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">submit</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;value</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">提交</span><span style="color: #000000;">"</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">form</span><span style="color: #000000;">&gt;</span></div>
<br><img src ="http://www.phpweblog.net/fuyongjie/aggbug/6373.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2009-03-10 10:16 <a href="http://www.phpweblog.net/fuyongjie/archive/2009/03/10/6373.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js with 和 其中谨慎使用的变量命名</title><link>http://www.phpweblog.net/fuyongjie/archive/2009/03/09/6371.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Mon, 09 Mar 2009 03:40:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2009/03/09/6371.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/6371.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2009/03/09/6371.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/6371.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/6371.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">with&nbsp;语句<br><br>为语句设定默认对象。<br><br>with&nbsp;(</span><span style="color: #0000ff;">object</span><span style="color: #000000;">)<br>&nbsp;&nbsp;&nbsp;statements<br>参数<br><br></span><span style="color: #0000ff;">object</span><span style="color: #000000;"><br><br>新的默认对象。<br><br>statements<br><br>一个或多个语句，</span><span style="color: #0000ff;">object</span><span style="color: #000000;">&nbsp;是该语句的默认对象。<br>说明<br><br>with&nbsp;语句通常用来缩短特定情形下必须写的代码量。在下面的例子中，请注意&nbsp;Math&nbsp;的重复使用：<br><br>x&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Math</span><span style="color: #000000;">.</span><span style="color: #008080;">cos</span><span style="color: #000000;">(</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;Math</span><span style="color: #000000;">.</span><span style="color: #008080;">PI</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;Math</span><span style="color: #000000;">.</span><span style="color: #008080;">sin</span><span style="color: #000000;">(Math</span><span style="color: #000000;">.</span><span style="color: #000000;">LN10)&nbsp;y&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Math</span><span style="color: #000000;">.</span><span style="color: #008080;">tan</span><span style="color: #000000;">(</span><span style="color: #000000;">14</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;Math</span><span style="color: #000000;">.</span><span style="color: #000000;">E)<br><br>当使用&nbsp;with&nbsp;语句时，代码变得更短且更易读：<br><br>with&nbsp;(Math){&nbsp;&nbsp;&nbsp;&nbsp;x&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">cos</span><span style="color: #000000;">(</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">PI</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">sin</span><span style="color: #000000;">&nbsp;(LN10)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;y&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">tan</span><span style="color: #000000;">(</span><span style="color: #000000;">14</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;E)}<br><br>要求<br><br>版本&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;"><br>请参阅<br><br>this&nbsp;语句</span></div>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;"></span><span style="color: #000000;"><br></span></div>
<br>注意：<br>with(element)的时候，如果里边用到了name变量,他会认为是当前element的name值，因此不要给其他的变量赋予name这个命名空间，id等也属于这种情况，<br><br>例子：<br>&nbsp;&lt;input name='testname' id='testid'&gt;<br><br>with(document.getElementById('testid')) {<br>&nbsp; name = 'change_name';<br>&nbsp; alert(document.getElementById('testid').name);//此时的input 的 name已经变成了change_name<br><br>}<br><img src ="http://www.phpweblog.net/fuyongjie/aggbug/6371.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2009-03-09 11:40 <a href="http://www.phpweblog.net/fuyongjie/archive/2009/03/09/6371.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>汉字正则</title><link>http://www.phpweblog.net/fuyongjie/archive/2009/02/27/6355.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Fri, 27 Feb 2009 06:47:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2009/02/27/6355.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/6355.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2009/02/27/6355.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/6355.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/6355.html</trackback:ping><description><![CDATA[识别utf-8编码字符的正则表达式应为 &nbsp; "/[\xf0-\xf7][\x80-\xbf]{3}|[\xe0-\xef][\x80-\xbf]{2}|[\xc2-\xdf][\x80-\xbf]|[\x01-\x7f]/。<br><br>据传是因为utf8的汉字编码有1-4个字节组成<img src ="http://www.phpweblog.net/fuyongjie/aggbug/6355.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2009-02-27 14:47 <a href="http://www.phpweblog.net/fuyongjie/archive/2009/02/27/6355.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>汉字正则</title><link>http://www.phpweblog.net/fuyongjie/archive/2009/02/27/6351.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Fri, 27 Feb 2009 01:16:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2009/02/27/6351.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/6351.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2009/02/27/6351.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/6351.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/6351.html</trackback:ping><description><![CDATA[识别utf-8编码字符的正则表达式应为 &nbsp; "/[\xf0-\xf7][\x80-\xbf]{3}|[\xe0-\xef][\x80-\xbf]{2}|[\xc2-\xdf][\x80-\xbf]|[\x01-\x7f]/。<br><br>据传是因为utf8的汉字编码有1-4个字节组成<img src ="http://www.phpweblog.net/fuyongjie/aggbug/6351.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2009-02-27 09:16 <a href="http://www.phpweblog.net/fuyongjie/archive/2009/02/27/6351.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> Javascript的IE和Firefox兼容性汇编 </title><link>http://www.phpweblog.net/fuyongjie/archive/2009/02/26/6350.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Thu, 26 Feb 2009 06:38:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2009/02/26/6350.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/6350.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2009/02/26/6350.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/6350.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/6350.html</trackback:ping><description><![CDATA[<div class="content">
<p>以下以 IE 代替 Internet Explorer，以 MF 代替 Mozzila Firefox</p>
<p>1. <span style="color: red;">document.form.item</span> 问题<br>&nbsp;&nbsp;&nbsp; (1)现有问题：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 现有代码中存在许多 document.formName.item("itemName") 这样的语句，不能在 MF 下运行<br>&nbsp;&nbsp;&nbsp; (2)解决方法：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 改用 document.formName.<span style="color: red;">elements[</span>"elementName"<span style="color: red;">]</span><br>&nbsp;&nbsp;&nbsp; (3)其它<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 参见 2</p>
<p>2. 集合类对象问题<br>&nbsp;&nbsp;&nbsp; (1)现有问题：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 现有代码中许多集合类对象取用时使用 ()，IE 能接受，MF 不能。<br>&nbsp;&nbsp;&nbsp; (2)解决方法：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red;">改用 [] 作为下标运算</span>。如：document.forms("formName") 改为 document.forms["formName"]。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 又如：document.getElementsByName("inputName")(1) 改为 document.getElementsByName("inputName")[1]<br>&nbsp;&nbsp;&nbsp; (3)其它</p>
<p>3.<span style="color: red;"> window.event</span><br>&nbsp;&nbsp;&nbsp; (1)现有问题：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用 window.event 无法在 MF 上运行<br>&nbsp;&nbsp;&nbsp; (2)解决方法：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MF 的 event 只能在事件发生的现场使用，此问题暂无法解决。可以这样变通：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 原代码(可在IE中运行)：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type="button" name="someButton" value="提交" onclick="javascript:gotoSubmit()"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;script language="javascript"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function gotoSubmit() {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(window.event);&nbsp;&nbsp;&nbsp; // use window.event<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/script&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 新代码(可在IE和MF中运行)：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type="button" name="someButton" value="提交" onclick="javascript:gotoSubmit(<span style="color: red;">event</span>)"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;script language="javascript"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function gotoSubmit(<span style="color: red;">evt</span>) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; evt = evt ? evt : (window.event ? window.event : null);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(evt);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // use evt<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/script&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 此外，如果新代码中第一行不改，与老代码一样的话(即 gotoSubmit 调用没有给参数)，则仍然只能在IE中运行，但不会出错。所以，这种方案 tpl 部分仍与老代码兼容。</p>
<p>4. HTML 对象的 id 作为对象名的问题<br>&nbsp;&nbsp;&nbsp; (1)现有问题<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在 IE 中，HTML 对象的 ID 可以作为 document 的下属对象变量名直接使用。在 MF 中不能。<br>&nbsp;&nbsp;&nbsp; (2)解决方法<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用 getElementById("idName") 代替 idName 作为对象变量使用。</p>
<p>5. 用idName字符串取得对象的问题<br>&nbsp;&nbsp;&nbsp; (1)现有问题<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在IE中，利用 eval(idName) 可以取得 id 为 idName 的 HTML 对象，在MF 中不能。<br>&nbsp;&nbsp;&nbsp; (2)解决方法<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用 getElementById(idName) 代替 eval(idName)。</p>
<p>6. 变量名与某 HTML 对象 id 相同的问题<br>&nbsp;&nbsp;&nbsp; (1)现有问题<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在 MF 中，因为对象 id 不作为 HTML 对象的名称，所以可以使用与 HTML 对象 id 相同的变量名，IE 中不能。<br>&nbsp;&nbsp;&nbsp; (2)解决方法<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在声明变量时，一律加上 var ，以避免歧义，这样在 IE 中亦可正常运行。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red;">此外，最好不要取与 HTML 对象 id 相同的变量名，以减少错误。</span><br>&nbsp;&nbsp;&nbsp; (3)其它<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 参见 问题4</p>
<p>7. <span style="color: red;">event.x 与 event.y 问题</span><br>&nbsp;&nbsp;&nbsp; (1)现有问题<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在IE 中，event 对象有 x, y 属性，MF中没有。<br>&nbsp;&nbsp;&nbsp; (2)解决方法<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在MF中，与event.x 等效的是 event.pageX。但event.pageX IE中没有。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 故采用 event.clientX 代替 event.x。在IE 中也有这个变量。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; event.clientX 与 event.pageX 有微妙的差别（当整个页面有滚动条的时候），不过大多数时候是等效的。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: red;"> 如果要完全一样</span>，可以稍麻烦些：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red;">mX = event.x ? event.x : event.pageX;</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 然后用 mX 代替 event.x<br>&nbsp;&nbsp;&nbsp; (3)其它<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; event.layerX 在 IE 与 MF 中都有，具体意义有无差别尚未试验。</p>
<p><br>8. 关于frame<br>&nbsp;&nbsp; (1)现有问题<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在 IE中 可以用window.testFrame取得该frame，mf中不行<br>&nbsp;&nbsp; (2)解决方法<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在frame的使用方面mf和ie的最主要的区别是：<br>如果在frame标签中书写了以下属性：<br>&lt;frame src="xx.htm" id="frameId" name="frameName" /&gt;<br>那么ie可以通过id或者name访问这个frame对应的window对象<br>而mf只可以通过name来访问这个frame对应的window对象<br>例如如果上述frame标签写在最上层的window里面的htm里面，那么可以这样访问<br>ie： window.top.frameId或者window.top.frameName来访问这个window对象<br>mf： 只能这样window.top.frameName来访问这个window对象</p>
<p>另外，在mf和ie中都可以使用window.top.document.getElementById("frameId")来访问frame标签<br>并且可以通过window.top.document.getElementById("testFrame").src = 'xx.htm'来切换frame的内容<br>也都可以通过window.top.frameName.location = 'xx.htm'来切换frame的内容<br>关于frame和window的描述可以参见bbs的&#8216;window与frame&#8217;文章<br>以及/test/js/test_frame/目录下面的测试<br>----adun 2004.12.09修改</p>
<p>9. <span style="color: red;">在mf中，自己定义的属性必须getAttribute()取得</span><br>10.在mf中没有&nbsp; parentElement parement.children&nbsp; 而用<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red;">parentNode parentNode.childNodes</span><br>&nbsp;&nbsp; childNodes的下标的含义在IE和MF中不同，MF使用DOM规范，childNodes中会插入空白文本节点。<br>&nbsp; <span style="color: red;">一般可以通过node.getElementsByTagName()来回避这个问题。</span><br>&nbsp;&nbsp; 当html中节点缺失时，IE和MF对parentNode的解释不同，例如<br>&nbsp;&nbsp; &lt;form&gt;<br>&nbsp;&nbsp; &lt;table&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input/&gt;<br>&nbsp;&nbsp; &lt;/table&gt;<br>&nbsp;&nbsp; &lt;/form&gt;<br>&nbsp;&nbsp; MF中input.parentNode的值为form, 而IE中input.parentNode的值为空节点</p>
<p>&nbsp; <span style="color: red;">MF中节点没有removeNode方法</span>，必须使用如下方法 node.parentNode.removeChild(node)</p>
<p>11.const 问题<br>&nbsp; (1)现有问题:<br>&nbsp;&nbsp;&nbsp;&nbsp; 在 IE 中不能使用 const 关键字。如 const constVar = 32; 在IE中这是语法错误。<br>&nbsp; (2)解决方法:<br>&nbsp;&nbsp;&nbsp;&nbsp; 不使用 const ，以 var 代替。</p>
<p>12. <span style="color: red;">body 对象</span><br>&nbsp;&nbsp; MF的body在body标签没有被浏览器完全读入之前就存在，而IE则必须在body完全被读入之后才存在</p>
<p>13. url encoding<br>在js中如果书写url就直接写&amp;不要写&amp;amp;例如var url = 'xx.jsp?objectName=xx&amp;amp;objectEvent=xxx';<br>frm.action = url那么很有可能url不会被正常显示以至于参数没有正确的传到服务器<br>一般会服务器报错参数没有找到<br>当然如果是在tpl中例外，因为tpl中符合xml规范，要求&amp;书写为&amp;amp;<br>一般MF无法识别js中的&amp;amp;</p>
<p><br>14. nodeName 和 tagName 问题<br>&nbsp; (1)现有问题：<br>&nbsp;&nbsp;&nbsp;&nbsp; 在MF中，所有节点均有 nodeName 值，但 textNode 没有 tagName 值。在 IE 中，nodeName 的使用好象<br>&nbsp;&nbsp;&nbsp;&nbsp; 有问题（具体情况没有测试，但我的IE已经死了好几次）。<br>&nbsp; (2)解决方法：<br>&nbsp;&nbsp;&nbsp;&nbsp; 使用 tagName，但应检测其是否为空。</p>
<p>15. 元素属性<br>&nbsp;&nbsp; IE下 input.type属性为只读，但是MF下可以修改</p>
<p><br>16. document.getElementsByName() 和 document.all[name] 的问题<br>&nbsp; (1)现有问题：<br>&nbsp;&nbsp;&nbsp;&nbsp; 在 IE 中，getElementsByName()、document.all[name] 均不能用来取得 div 元素（是否还有其它不能取的元素还不知道）。</p>
</div>
<br><img src ="http://www.phpweblog.net/fuyongjie/aggbug/6350.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2009-02-26 14:38 <a href="http://www.phpweblog.net/fuyongjie/archive/2009/02/26/6350.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IE和Firefox下event乱谈</title><link>http://www.phpweblog.net/fuyongjie/archive/2009/02/26/6349.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Thu, 26 Feb 2009 06:34:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2009/02/26/6349.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/6349.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2009/02/26/6349.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/6349.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/6349.html</trackback:ping><description><![CDATA[<div id="printBody">
<div style="text-align: center;">
<h1 class="aTitle">IE和Firefox下event乱谈</h1>
</div>
<table width="97%" align="center">
    <tbody>
        <tr>
            <td width="140"><br></td>
            <td align="center"><br></td>
            <td width="160" align="right"><br></td>
        </tr>
    </tbody>
</table>
<div style="overflow-x: hidden;" id="content">
如果在使用javascript的时候涉及到event处理，就需要知道event在不同的浏览器中的差异，因为javascript的事件模型有三
种，它们分别是NN4、IE4+和W3C/Safari;这也造成了在不同的浏览器中处理event的差异，这里结合一些零碎的代码来说明如何做到
event在IE4+和Firefox下的正常工作。首先看如下代码：<br>
<div class="quote">function&nbsp;doEventThing(<span style="color: red;">eventTag</span>){&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;var&nbsp;event&nbsp;=&nbsp;eventTag||window.event;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;var&nbsp;currentKey&nbsp;=&nbsp;event.charCode||event.keyCode;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;var&nbsp;eventSource&nbsp;=window.event.srcElement||eventTag.target;&nbsp;&nbsp;&nbsp;&nbsp; <br>}</div>
&nbsp;&nbsp;&nbsp;&nbsp;<br>　　这段代码主要是为了处理键盘事件的，在<span style="color: red;">IE中event作为window对象的一个属性可以直接使用</span>，但是在<span style="color: red;">Firefox</span>中却使用了W3C的模型，它是通<span style="color: red;">过传参的方法来传播事件的</span>，也就是说你需要为你的函数提供一个事件响应的接口，在上述函数中， <br>eventTag扮演的就是这个角色。 <br>　　<font color="#cc00ff">var&nbsp;event&nbsp;=&nbsp;eventTag||window.event;</font> <br>
这段代码可以根据浏览器的不同来得到正确的event，并在程序中使用，如果在IE4+下面使用这段代码，因为eventTag为null可以保证
event&nbsp;=&nbsp;window.event，但是如果在Firefox下运行的话则因为手工的给定了eventTag所以
var&nbsp;event&nbsp;=&nbsp;eventTag。根据对这一段代码的分析我们也不难看出可以对doEventThing方法进行如下的改造(因为
javascript允许我们在定义function的时候不明确指出参数的数量):&nbsp;<br>
<div class="quote">function&nbsp;doEventThing(){&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;event&nbsp;=&nbsp;arguments[0]||window.event;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//other&nbsp;code&nbsp;&nbsp;&nbsp;&nbsp; <br>}&nbsp;</div>
&nbsp;&nbsp; <br>　　在Firefox下arguments[0]在特定的场合(没有显式的指定function参数数量的时候)被做为传播事件的参数来使用&#8230;&#8230;&#8230;&#8230; <br>　　至于var&nbsp;currentKey&nbsp;=&nbsp;event.charCode||event.keyCode;也是不同的浏览器所致，在IE4+下面记录键盘的是keyCode，但是在Firefox下的却是charCode,为此我们需要处理他们的差异。 <br>　　还有一个差异就是事件源的获取：通过语句<br>　　<font color="#cc00ff">var&nbsp;eventSource&nbsp;=&nbsp;window.event.srcElement||eventTag.target;<br></font>　　我们也看到了IE与W3C的不同。 <br>　　经过上面的包装，我们基本上可以在IE4+和Firefox下面顺利的使用事件机制了，当然如果为了通用性可以对这种差异进封装来形成自己的Event对象在程序中误差别的使用事件对象，这里就不在介绍了。&nbsp;<br>&nbsp;&nbsp;&nbsp; <br>　　接下来分析事件的绑定：大概分为如下5种 <br>　　1、绑定到元素，这也是比较常见的一种比如：&nbsp;<br>　　<font color="#cc00ff">&lt;input&nbsp;type="button"&nbsp;onclick="doEventThing(event)"&gt;</font>&nbsp;&nbsp;&nbsp; <br>,这样我们就把doEventThing绑定到了该button对象上，点击此按钮事件就被触发。 <br>　　2、绑定事件到对象：这也是比较常见的一种，特别是在IE4+下面： <br>　　<font color="#cc00ff">document.getElementById("divid").onclick&nbsp;=&nbsp;doEventThing;</font> <br>　　3、使用&lt;script&nbsp;for&gt;进行事件的绑定，这只在IE4+下有用（为buttong1绑定事件，逻辑在script块中书写event来指定怎么触发事件）： <br>
<div class="quote">&lt;script&nbsp;event="onclick"&nbsp;for="button1"&gt; <br>　//&nbsp;script&nbsp;statements&nbsp;here <br>&lt;/script&gt;</div>
&nbsp;<br>&nbsp;&nbsp;&nbsp;4、使用&nbsp;IE5/Windows&nbsp;的&nbsp;attachEvent()&nbsp;方法&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;5、使用&nbsp;W3C&nbsp;DOM&nbsp;的&nbsp;addEventListener()&nbsp;方法<br>　　<font color="#cc00ff">addEventListener("eventType",listenerReference,captureFlag);</font> <br>　　第三个参数则是一个&nbsp;Boolean&nbsp;值，指明该结点是否以DOM中所谓的捕捉模式来侦听事件。对于一个典型的事件侦听器来说，第三个参数应该为false（假）。 <br><br>&nbsp;&nbsp;prototype在绑定事件的时候兼容IE和W3C的时候做的处理如下：&nbsp;<br>
<div class="quote">_observeAndCache:&nbsp;function(element,&nbsp;name,&nbsp;observer,&nbsp;useCapture)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;if&nbsp;(!this.observers)&nbsp;this.observers&nbsp;=&nbsp;[];&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;if&nbsp;(element.addEventListener)&nbsp;{//W3C&nbsp;DOM&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.observers.push([element,&nbsp;name,&nbsp;observer,&nbsp;useCapture]);&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;element.addEventListener(name,&nbsp;observer,&nbsp;useCapture);&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(element.attachEvent)&nbsp;{//IE5/Windows&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.observers.push([element,&nbsp;name,&nbsp;observer,&nbsp;useCapture]);&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;element.attachEvent(&#8217;on&#8217;&nbsp;+&nbsp;name,&nbsp;observer);&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp; <br>}</div>
&nbsp;&nbsp;&nbsp; <br>撇
开this.observers.pust([element,name,observer,useCapture])不谈，我们对4、5所说的事件绑定
就很清楚了。我们知道prototype的此方法的useCapture在IE下没有作用，只对W3C的事件处理机制起作用。</div>
</div>
<br><img src ="http://www.phpweblog.net/fuyongjie/aggbug/6349.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2009-02-26 14:34 <a href="http://www.phpweblog.net/fuyongjie/archive/2009/02/26/6349.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Jquery 结合Json控制Select下拉框</title><link>http://www.phpweblog.net/fuyongjie/archive/2009/01/20/6292.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Tue, 20 Jan 2009 08:43:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2009/01/20/6292.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/6292.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2009/01/20/6292.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/6292.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/6292.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">&lt;</span><span style="color: #000000;">html</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #000000;">&lt;</span><span style="color: #000000;">head</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #000000;">&lt;</span><span style="color: #000000;">title</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">jquery&nbsp;操作&nbsp;Select</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">title</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #000000;">&lt;</span><span style="color: #000000;">script&nbsp;type</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">text/javascript</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;src</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">jquery-1.2.6.min.js</span><span style="color: #000000;">"</span><span style="color: #000000;">&gt;&lt;/</span><span style="color: #000000;">script</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br><br></span><span style="color: #000000;">&lt;</span><span style="color: #000000;">script&nbsp;type</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">text/javascript</span><span style="color: #000000;">"</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br>$(document).ready(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(){<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;oSheng&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;$(</span><span style="color: #000000;">"</span><span style="color: #000000;">#sheng</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;dSheng&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;{head:[<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{text:</span><span style="color: #000000;">"</span><span style="color: #000000;">text&nbsp;-&nbsp;a</span><span style="color: #000000;">"</span><span style="color: #000000;">,id:</span><span style="color: #000000;">"</span><span style="color: #000000;">a</span><span style="color: #000000;">"</span><span style="color: #000000;">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{text:</span><span style="color: #000000;">"</span><span style="color: #000000;">text&nbsp;-&nbsp;b</span><span style="color: #000000;">"</span><span style="color: #000000;">,id:</span><span style="color: #000000;">"</span><span style="color: #000000;">b</span><span style="color: #000000;">"</span><span style="color: #000000;">}<br>&nbsp;&nbsp;&nbsp;&nbsp;]};<br>&nbsp;&nbsp;&nbsp;&nbsp;oSheng.empty();</span><span style="color: #008000;">//</span><span style="color: #008000;">清空select下拉框</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;i</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;i</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">dSheng.head.length;i</span><span style="color: #000000;">++</span><span style="color: #000000;">){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="color: #000000;">"</span><span style="color: #000000;">&lt;option&nbsp;value='</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;dSheng.head[i].id&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">'&gt;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;dSheng.head[i].text&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&lt;/option&gt;</span><span style="color: #000000;">"</span><span style="color: #000000;">).appendTo(oSheng)</span><span style="color: #008000;">//</span><span style="color: #008000;">动态添加Option子项</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;dShi&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;{head:[<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{id:</span><span style="color: #000000;">"</span><span style="color: #000000;">sub&nbsp;-&nbsp;a&nbsp;-&nbsp;1</span><span style="color: #000000;">"</span><span style="color: #000000;">,value:</span><span style="color: #000000;">"</span><span style="color: #000000;">a1</span><span style="color: #000000;">"</span><span style="color: #000000;">,parentid:</span><span style="color: #000000;">"</span><span style="color: #000000;">a</span><span style="color: #000000;">"</span><span style="color: #000000;">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{id:</span><span style="color: #000000;">"</span><span style="color: #000000;">sub&nbsp;-&nbsp;a&nbsp;-&nbsp;2</span><span style="color: #000000;">"</span><span style="color: #000000;">,value:</span><span style="color: #000000;">"</span><span style="color: #000000;">a2</span><span style="color: #000000;">"</span><span style="color: #000000;">,parentid:</span><span style="color: #000000;">"</span><span style="color: #000000;">a</span><span style="color: #000000;">"</span><span style="color: #000000;">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{id:</span><span style="color: #000000;">"</span><span style="color: #000000;">sub&nbsp;-&nbsp;b&nbsp;-&nbsp;1</span><span style="color: #000000;">"</span><span style="color: #000000;">,value:</span><span style="color: #000000;">"</span><span style="color: #000000;">b1</span><span style="color: #000000;">"</span><span style="color: #000000;">,parentid:</span><span style="color: #000000;">"</span><span style="color: #000000;">b</span><span style="color: #000000;">"</span><span style="color: #000000;">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{id:</span><span style="color: #000000;">"</span><span style="color: #000000;">sub&nbsp;-&nbsp;b&nbsp;-&nbsp;2</span><span style="color: #000000;">"</span><span style="color: #000000;">,value:</span><span style="color: #000000;">"</span><span style="color: #000000;">b2</span><span style="color: #000000;">"</span><span style="color: #000000;">,parentid:</span><span style="color: #000000;">"</span><span style="color: #000000;">b</span><span style="color: #000000;">"</span><span style="color: #000000;">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{id:</span><span style="color: #000000;">"</span><span style="color: #000000;">sub&nbsp;-&nbsp;b&nbsp;-&nbsp;3</span><span style="color: #000000;">"</span><span style="color: #000000;">,value:</span><span style="color: #000000;">"</span><span style="color: #000000;">b3</span><span style="color: #000000;">"</span><span style="color: #000000;">,parentid:</span><span style="color: #000000;">"</span><span style="color: #000000;">b</span><span style="color: #000000;">"</span><span style="color: #000000;">}<br>&nbsp;&nbsp;&nbsp;&nbsp;]}<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;oShi&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;$(</span><span style="color: #000000;">"</span><span style="color: #000000;">#shi</span><span style="color: #000000;">"</span><span style="color: #000000;">)<br><br>&nbsp;&nbsp;&nbsp;&nbsp;oSheng.change(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(){</span><span style="color: #008000;">//</span><span style="color: #008000;">添加onchange事件&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oShi.empty();</span><span style="color: #008000;">//</span><span style="color: #008000;">清空下级下拉框&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;i</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">dShi.head.length;i</span><span style="color: #000000;">++</span><span style="color: #000000;">){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(dShi.head[i].parentid</span><span style="color: #000000;">==</span><span style="color: #000000;">oSheng.val())<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="color: #000000;">"</span><span style="color: #000000;">&lt;option&nbsp;value='</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;dShi.head[i].value&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">'&gt;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;dShi.head[i].id&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&lt;/option&gt;</span><span style="color: #000000;">"</span><span style="color: #000000;">).appendTo(oShi)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;})<br>})<br></span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">script</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br><br></span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">head</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #000000;">&lt;</span><span style="color: #000000;">body</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #000000;">&lt;</span><span style="color: #000000;">select&nbsp;id</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">sheng</span><span style="color: #000000;">"</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">option&nbsp;value</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">a1</span><span style="color: #000000;">"</span><span style="color: #000000;">&gt;--------&lt;/</span><span style="color: #000000;">option</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">select</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br><br></span><span style="color: #000000;">&lt;</span><span style="color: #000000;">select&nbsp;id</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">shi</span><span style="color: #000000;">"</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">option&nbsp;value</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">b1</span><span style="color: #000000;">"</span><span style="color: #000000;">&gt;????????&lt;/</span><span style="color: #000000;">option</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">select</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">body</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">html</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br><br><br></span></div><img src ="http://www.phpweblog.net/fuyongjie/aggbug/6292.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2009-01-20 16:43 <a href="http://www.phpweblog.net/fuyongjie/archive/2009/01/20/6292.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jQuery/Ajax/PHP/Json 的一个综合例子</title><link>http://www.phpweblog.net/fuyongjie/archive/2009/01/20/6290.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Tue, 20 Jan 2009 06:26:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2009/01/20/6290.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/6290.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2009/01/20/6290.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/6290.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/6290.html</trackback:ping><description><![CDATA[jQuery 是一个优秀的 Javascript 框架，对 js 进行了优秀的包装，提供了许多方便的功能。jQuery 对 ajax 的包装也堪称优秀。
<p>&nbsp;&nbsp;&nbsp; jQuery 可以以 json 文件传输协议来传输数据(类似 xml，而且大有取代 xml
的趋势)，而网站后台代码必须与之配合使用。PHP 是用 json_encode 函数来对返回的数组数据进行编码的，但这个函数只有
PHP5.2版本以上才支持。</p>
<p>&nbsp;&nbsp;&nbsp; 从网上找到一个 json 的操作类，本人在 PHP4.4.7 版本下测试通过。本人还建了个函数 function my_json_encode($phparr)，使代码兼容 PHP5.2 以上版本。</p>
<p>&nbsp;&nbsp;&nbsp; 示例代码(包括 json 的类包软件)可以在以下网址下载：<a href="http://download.csdn.net/source/810895">http://download.csdn.net/source/810895</a></p>
<p>&nbsp;&nbsp;&nbsp; 以下是全部代码：</p>
<p>&lt;html&gt;<br>&lt;head&gt;<br>&lt;title&gt;jQuery Ajax 实例演示&lt;/title&gt;<br>&lt;/head&gt;<br>&lt;script language="javascript" src="../lib/jquery.js"&gt;&lt;/script&gt;<br>&lt;script language="javascript"&gt;</p>
<p>$(document).ready(function ()<br>{<br>&nbsp;&nbsp; $('#send_ajax').click(function (){<br>&nbsp;&nbsp;&nbsp;&nbsp; var params=$('input').serialize(); //序列化表单的值<br>&nbsp;&nbsp;&nbsp;&nbsp; $.ajax({<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://blog.csdn.net/zhangking/archive/2008/11/26/%27ajax_json.php%27">url:'ajax_json.php'</a>, //后台处理程序<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type:'post',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //数据发送方式<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dataType:'json',&nbsp;&nbsp;&nbsp;&nbsp; //接受数据格式<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; data:params,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //要传递的数据<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; success:update_page&nbsp; //回传函数(这里是函数名)<br>&nbsp;&nbsp;&nbsp;&nbsp; });<br>&nbsp;&nbsp; });</p>
<p>&nbsp; //$.post()方式：<br>&nbsp; $('#test_post').click(function (){<br>&nbsp;&nbsp;&nbsp; $.post(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'ajax_json.php',<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; username:$('#input1').val(),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; age:$('#input2').val(),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sex:$('#input3').val(),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; job:$('#input4').val()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function (data) //回传函数<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var myjson='';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eval('myjson=' + data + ';');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $('#result').html("姓名:" + myjson.username + "&lt;br/&gt;工作:" + myjson['job']);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; );<br>&nbsp;&nbsp; });</p>
<p>&nbsp; //$.get()方式：<br>&nbsp; $('#test_get').click(function ()<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; $.get(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'ajax_json.php',<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; username:$("#input1").val(),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; age:$("#input2").val(),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sex:$("#input3").val(),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; job:$("#input4").val()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function(data) //回传函数<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var myjson='';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eval("myjson=" + data + ";");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $("#result").html(myjson.job);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; );<br>&nbsp; });<br>});</p>
<p>function update_page (json)&nbsp; //回传函数实体，参数为XMLhttpRequest.responseText<br>{<br>&nbsp; var str="姓名:"+json.username+"&lt;br /&gt;";<br>&nbsp; str+="年龄:"+json.age+"&lt;br /&gt;";<br>&nbsp; str+="性别:"+json.sex+"&lt;br /&gt;";<br>&nbsp; str+="工作:"+json.job+"&lt;br /&gt;";<br>&nbsp; str+="追加测试:"+json.append;<br>&nbsp; $("#result").html(str);<br>}<br>&lt;/script&gt;<br>&lt;body&gt;</p>
<p>&nbsp; &lt;div id="result" style="background:orange;border:1px solid red;width:300px;height:200px;"&gt;&lt;/div&gt;<br>&nbsp; &lt;form id="formtest" action="" method="post"&gt;<br>&nbsp;&nbsp;&nbsp; &lt;p&gt;&lt;span&gt;输入姓名:&lt;/span&gt;&lt;input type="text" name="username" id="input1" /&gt;&lt;/p&gt;<br>&nbsp;&nbsp;&nbsp; &lt;p&gt;&lt;span&gt;输入年龄:&lt;/span&gt;&lt;input type="text" name="age" id="input2" /&gt;&lt;/p&gt;<br>&nbsp;&nbsp;&nbsp; &lt;p&gt;&lt;span&gt;输入性别:&lt;/span&gt;&lt;input type="text" name="sex" id="input3" /&gt;&lt;/p&gt;<br>&nbsp;&nbsp;&nbsp; &lt;p&gt;&lt;span&gt;输入工作:&lt;/span&gt;&lt;input type="text" name="job" id="input4" /&gt;&lt;/p&gt;<br>&nbsp; &lt;/form&gt;<br>&nbsp; &lt;button id="send_ajax"&gt;提交&lt;/button&gt;<br>&nbsp; &lt;button id="test_post"&gt;POST提交&lt;/button&gt;<br>&nbsp; &lt;button id="test_get"&gt;GET提交&lt;/button&gt;</p>
<p>&lt;/body&gt;<br>&lt;/html&gt;</p>
<p><br>PHP 文件 ajax_json.php：</p>
<p>&lt;?php<br>&nbsp; //$arr = $_POST; //若以$.get()方式发送数据，则要改成$_GET.或者干脆:$_REQUEST<br>&nbsp; $arr = $_REQUEST;<br>&nbsp; $arr['append'] = '测试字符串';<br>&nbsp; //print_r($arr);<br>&nbsp; $myjson = my_json_encode($arr);<br>&nbsp; echo $myjson;</p>
<p>&nbsp; function my_json_encode($phparr)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; if(function_exists("json_encode"))<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return json_encode($phparr);<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; else<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; require_once 'json/json.class.php';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $json = new Services_JSON;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return $json-&gt;encode($phparr);<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp; }<br>?&gt; <br></p>
<p>（作者 张庆）</p>
<br><img src ="http://www.phpweblog.net/fuyongjie/aggbug/6290.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2009-01-20 14:26 <a href="http://www.phpweblog.net/fuyongjie/archive/2009/01/20/6290.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript1.6数组新特性和jquery的几个工具方法</title><link>http://www.phpweblog.net/fuyongjie/archive/2008/12/23/6238.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Tue, 23 Dec 2008 09:58:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2008/12/23/6238.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/6238.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2008/12/23/6238.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/6238.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/6238.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;"><br><br>JavaScript&nbsp;</span><span style="color: #000000;">1.6</span><span style="color: #000000;">&nbsp;引入了几个新的Array&nbsp;方法，具体的介绍见：https:</span><span style="color: #008000;">//</span><span style="color: #008000;">developer.mozilla.org/cn/New_in_JavaScript_1.6</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>&nbsp;<br><br>JavaScript&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">.6在firefox1.5及其后版本支持，但在IE6，IE7甚至IE8上仍然未被支持。jquery的工具方法中提供了类似的功能。<br><br>&nbsp;<br><br></span><span style="color: #000000;">1</span><span style="color: #000000;">、Array.forEach()和jquery的$().each()。在数组中的每个项上运行一个函数。类似java5增强的for循环。见：http:</span><span style="color: #008000;">//</span><span style="color: #008000;">www.ibm.com/developerworks/cn/java/coretech/java-&nbsp;lang.html?S_TACT=105AGX52&amp;S_CMP=content#N10461</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>&nbsp;<br>Js代码&nbsp;复制代码<br><br>&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">.&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;ary&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;[</span><span style="color: #000000;">2</span><span style="color: #000000;">,</span><span style="color: #000000;">4</span><span style="color: #000000;">,</span><span style="color: #000000;">6</span><span style="color: #000000;">,</span><span style="color: #000000;">8</span><span style="color: #000000;">];&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">.&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">.&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">js1.6&nbsp;Array.forEach方法&nbsp;&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">.&nbsp;ary.forEach(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(i){alert(i);});&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">.&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">.&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">看看jquery的写法&nbsp;&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">7</span><span style="color: #000000;">.&nbsp;$(ary).each(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(){alert(</span><span style="color: #0000ff;">this</span><span style="color: #000000;">);});&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">8</span><span style="color: #000000;">.&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">还可以写成这样&nbsp;&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">9</span><span style="color: #000000;">.&nbsp;$(ary).each(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(index,item){alert(item);});</span><span style="color: #008000;">//</span><span style="color: #008000;">index是元素的索引，item是该元素&nbsp;&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;ary&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;[</span><span style="color: #000000;">2</span><span style="color: #000000;">,</span><span style="color: #000000;">4</span><span style="color: #000000;">,</span><span style="color: #000000;">6</span><span style="color: #000000;">,</span><span style="color: #000000;">8</span><span style="color: #000000;">];<br><br></span><span style="color: #008000;">//</span><span style="color: #008000;">js1.6&nbsp;Array.forEach方法</span><span style="color: #008000;"><br></span><span style="color: #000000;">ary.forEach(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(i){alert(i);});<br><br></span><span style="color: #008000;">//</span><span style="color: #008000;">看看jquery的写法</span><span style="color: #008000;"><br></span><span style="color: #000000;">$(ary).each(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(){alert(</span><span style="color: #0000ff;">this</span><span style="color: #000000;">);});<br></span><span style="color: #008000;">//</span><span style="color: #008000;">还可以写成这样</span><span style="color: #008000;"><br></span><span style="color: #000000;">$(ary).each(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(index,item){alert(item);});</span><span style="color: #008000;">//</span><span style="color: #008000;">index是元素的索引，item是该元素</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>&nbsp;<br><br></span><span style="color: #000000;">2</span><span style="color: #000000;">、Array.filter()和jquery的$.grep()。在数组中的每个项上运行一个函数，并将函数返回真值的项作为数组返回。简单的说就是用一个条件过滤掉不符合的数组元素，剩下的符合条件的元素组合成新的数组返回。<br><br>&nbsp;<br>Js代码&nbsp;复制代码<br><br>&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">.&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;ary&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;[</span><span style="color: #000000;">2</span><span style="color: #000000;">,</span><span style="color: #000000;">4</span><span style="color: #000000;">,</span><span style="color: #000000;">6</span><span style="color: #000000;">,</span><span style="color: #000000;">8</span><span style="color: #000000;">];&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">.&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">.&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">js1.6&nbsp;Array.filter()方法&nbsp;&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">.&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;otherAry1&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;ary.filter(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(item){</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;item</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">4</span><span style="color: #000000;">;});&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">.&nbsp;alert(otherAry1);</span><span style="color: #008000;">//</span><span style="color: #008000;">输出6，8&nbsp;&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">.&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">7</span><span style="color: #000000;">.&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">jquery写法(注意和$.each的区别)&nbsp;&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">8</span><span style="color: #000000;">.&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">此处你们函数中第一个参数是数组元素自身，第二个参数是数组元素索引&nbsp;&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">9</span><span style="color: #000000;">.&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">而$().each方法刚好相反，作者应该统一下。&nbsp;&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">.&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;otherAry2&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;$.grep(ary,</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(item,index){</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;item</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">4</span><span style="color: #000000;">;});&nbsp;&nbsp;<br>&nbsp;&nbsp;</span><span style="color: #000000;">11</span><span style="color: #000000;">.&nbsp;alert(otherAry2);</span><span style="color: #008000;">//</span><span style="color: #008000;">输出6，8&nbsp;&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;ary&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;[</span><span style="color: #000000;">2</span><span style="color: #000000;">,</span><span style="color: #000000;">4</span><span style="color: #000000;">,</span><span style="color: #000000;">6</span><span style="color: #000000;">,</span><span style="color: #000000;">8</span><span style="color: #000000;">];<br><br></span><span style="color: #008000;">//</span><span style="color: #008000;">js1.6&nbsp;Array.filter()方法</span><span style="color: #008000;"><br></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;otherAry1&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;ary.filter(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(item){</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;item</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">4</span><span style="color: #000000;">;});<br>alert(otherAry1);</span><span style="color: #008000;">//</span><span style="color: #008000;">输出6，8</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br></span><span style="color: #008000;">//</span><span style="color: #008000;">jquery写法(注意和$.each的区别)</span><span style="color: #008000;"><br>//</span><span style="color: #008000;">此处你们函数中第一个参数是数组元素自身，第二个参数是数组元素索引</span><span style="color: #008000;"><br>//</span><span style="color: #008000;">而$().each方法刚好相反，作者应该统一下。</span><span style="color: #008000;"><br></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;otherAry2&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;$.grep(ary,</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(item,index){</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;item</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">4</span><span style="color: #000000;">;});<br>alert(otherAry2);</span><span style="color: #008000;">//</span><span style="color: #008000;">输出6，8</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>&nbsp;<br><br></span><span style="color: #000000;">3</span><span style="color: #000000;">、Array.map()和jquery的$.map()。在数组中的每个项上运行一个函数，并将全部结果作为数组返回。这个方法非常强大，尤其是作用于DOM数组时（在abcc项目上用过，对每个查询模块DOM生成查询字符串）。简单说就是把每个数组元素运算的结果作为新数组元素（还是很拗口）。<br><br>&nbsp;<br>Js代码&nbsp;复制代码<br><br>&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">.&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;ary&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;[</span><span style="color: #000000;">2</span><span style="color: #000000;">,</span><span style="color: #000000;">4</span><span style="color: #000000;">,</span><span style="color: #000000;">6</span><span style="color: #000000;">,</span><span style="color: #000000;">8</span><span style="color: #000000;">];&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">.&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">.&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">js1.6&nbsp;Array.map()方法&nbsp;&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">.&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;newAry1&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;ary.map(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(item){</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;item</span><span style="color: #000000;">+</span><span style="color: #000000;">1</span><span style="color: #000000;">;});</span><span style="color: #008000;">//</span><span style="color: #008000;">每个元素加1&nbsp;&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">.&nbsp;alert(newAry1);</span><span style="color: #008000;">//</span><span style="color: #008000;">输出3，5，7，9&nbsp;&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">.&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">7</span><span style="color: #000000;">.&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">jquery写法&nbsp;&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">8</span><span style="color: #000000;">.&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;newAry2&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;$.map(ary,</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(item,index){</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;item</span><span style="color: #000000;">+</span><span style="color: #000000;">1</span><span style="color: #000000;">;});&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">9</span><span style="color: #000000;">.&nbsp;alert(newAry2);</span><span style="color: #008000;">//</span><span style="color: #008000;">输出3，5，7，9&nbsp;&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;ary&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;[</span><span style="color: #000000;">2</span><span style="color: #000000;">,</span><span style="color: #000000;">4</span><span style="color: #000000;">,</span><span style="color: #000000;">6</span><span style="color: #000000;">,</span><span style="color: #000000;">8</span><span style="color: #000000;">];<br><br></span><span style="color: #008000;">//</span><span style="color: #008000;">js1.6&nbsp;Array.map()方法</span><span style="color: #008000;"><br></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;newAry1&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;ary.map(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(item){</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;item</span><span style="color: #000000;">+</span><span style="color: #000000;">1</span><span style="color: #000000;">;});</span><span style="color: #008000;">//</span><span style="color: #008000;">每个元素加1</span><span style="color: #008000;"><br></span><span style="color: #000000;">alert(newAry1);</span><span style="color: #008000;">//</span><span style="color: #008000;">输出3，5，7，9</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br></span><span style="color: #008000;">//</span><span style="color: #008000;">jquery写法</span><span style="color: #008000;"><br></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;newAry2&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;$.map(ary,</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(item,index){</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;item</span><span style="color: #000000;">+</span><span style="color: #000000;">1</span><span style="color: #000000;">;});<br>alert(newAry2);</span><span style="color: #008000;">//</span><span style="color: #008000;">输出3，5，7，9</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>&nbsp;<br><br></span><span style="color: #000000;">4</span><span style="color: #000000;">、Array.every()方法。检查数组元素是否都符合某个条件，只要有一个不符合返回false，否则返回true<br><br>&nbsp;<br>Js代码&nbsp;复制代码<br><br>&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">.&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;ary&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;[</span><span style="color: #000000;">2</span><span style="color: #000000;">,</span><span style="color: #000000;">4</span><span style="color: #000000;">,</span><span style="color: #000000;">6</span><span style="color: #000000;">,</span><span style="color: #000000;">8</span><span style="color: #000000;">,</span><span style="color: #000000;">10</span><span style="color: #000000;">];&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">.&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">.&nbsp;alert(ary.every(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(item){</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;item</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">1</span><span style="color: #000000;">}));</span><span style="color: #008000;">//</span><span style="color: #008000;">true&nbsp;&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">.&nbsp;alert(ary.every(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(item){</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;item</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">2</span><span style="color: #000000;">}));</span><span style="color: #008000;">//</span><span style="color: #008000;">false&nbsp;&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;ary&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;[</span><span style="color: #000000;">2</span><span style="color: #000000;">,</span><span style="color: #000000;">4</span><span style="color: #000000;">,</span><span style="color: #000000;">6</span><span style="color: #000000;">,</span><span style="color: #000000;">8</span><span style="color: #000000;">,</span><span style="color: #000000;">10</span><span style="color: #000000;">];<br><br>alert(ary.every(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(item){</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;item</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">1</span><span style="color: #000000;">}));</span><span style="color: #008000;">//</span><span style="color: #008000;">true</span><span style="color: #008000;"><br></span><span style="color: #000000;">alert(ary.every(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(item){</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;item</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">2</span><span style="color: #000000;">}));</span><span style="color: #008000;">//</span><span style="color: #008000;">false</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>&nbsp;<br><br></span><span style="color: #000000;">5</span><span style="color: #000000;">、Array.some()方法。检查数组中元素是否符合某个条件，只要有一个符合返回true，否则返回false<br><br>&nbsp;<br>Js代码&nbsp;复制代码<br><br>&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">.&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;ary&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;[</span><span style="color: #000000;">2</span><span style="color: #000000;">,</span><span style="color: #000000;">4</span><span style="color: #000000;">,,</span><span style="color: #000000;">6</span><span style="color: #000000;">,</span><span style="color: #000000;">8</span><span style="color: #000000;">,</span><span style="color: #000000;">10</span><span style="color: #000000;">];&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">.&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">.&nbsp;alert(ary.some(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(item){</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;item</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">9</span><span style="color: #000000;">;}));</span><span style="color: #008000;">//</span><span style="color: #008000;">true&nbsp;&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">.&nbsp;alert(ary.some(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(item){</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;item</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">10</span><span style="color: #000000;">;}));</span><span style="color: #008000;">//</span><span style="color: #008000;">false&nbsp;&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;ary&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;[</span><span style="color: #000000;">2</span><span style="color: #000000;">,</span><span style="color: #000000;">4</span><span style="color: #000000;">,,</span><span style="color: #000000;">6</span><span style="color: #000000;">,</span><span style="color: #000000;">8</span><span style="color: #000000;">,</span><span style="color: #000000;">10</span><span style="color: #000000;">];<br><br>alert(ary.some(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(item){</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;item</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">9</span><span style="color: #000000;">;}));</span><span style="color: #008000;">//</span><span style="color: #008000;">true</span><span style="color: #008000;"><br></span><span style="color: #000000;">alert(ary.some(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(item){</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;item</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">10</span><span style="color: #000000;">;}));</span><span style="color: #008000;">//</span><span style="color: #008000;">false</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>&nbsp;<br><br>&nbsp;<br><br>ps：以上代码需在firefox1.</span><span style="color: #000000;">5</span><span style="color: #000000;">++</span><span style="color: #000000;">上运行<br></span></div>
<br><img src ="http://www.phpweblog.net/fuyongjie/aggbug/6238.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2008-12-23 17:58 <a href="http://www.phpweblog.net/fuyongjie/archive/2008/12/23/6238.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>日历、日期选择函数（修改下，觉得非常好用）</title><link>http://www.phpweblog.net/fuyongjie/archive/2008/12/23/6236.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Tue, 23 Dec 2008 09:04:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2008/12/23/6236.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/6236.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2008/12/23/6236.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/6236.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/6236.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #008000;"><br>/*</span><span style="color: #008000;">*<br>&nbsp;*&nbsp;jQuery.jSelectDate&nbsp;Version&nbsp;0.2<br>&nbsp;*&nbsp;jQuery&nbsp;下拉列表选择日期插件<br>&nbsp;*<br>&nbsp;*&nbsp;Wathon&nbsp;Team<br>&nbsp;*&nbsp;http://www.wathon.com<br>&nbsp;*&nbsp;http://huacn.cnblogs.com<br>&nbsp;*&nbsp;http://www.cnblogs.com/huacn/archive/2008/01/16/jquery_plugin_jSelectDate.html<br>&nbsp;*&nbsp;<br>&nbsp;*&nbsp;created&nbsp;by:<br>&nbsp;*&nbsp;李华顺&nbsp;fyj<br>&nbsp;*&nbsp;更改说明：原来的是指定起始和结束年份；改为指定以当前年为起点，向前和向后个加减多少年即参数yearBefore,yearAfter&nbsp;//2008-12-23<br>&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br><br></span><span style="color: #008000;">/*</span><span style="color: #008000;"><br>&nbsp;*&nbsp;*****************&nbsp;&nbsp;&nbsp;Example&nbsp;&nbsp;&nbsp;***********************<br>&nbsp;&lt;script&nbsp;type="text/javascript"&gt;<br>&nbsp;$("body").ready(function(){<br>&nbsp;$("input.date").jSelectDate({<br>&nbsp;css:"date",<br>&nbsp;yearBefore&nbsp;:&nbsp;0,//当前年份的前几年<br>&nbsp;yearAfter&nbsp;:&nbsp;10,//当前年份的后几年<br>&nbsp;disabled&nbsp;:&nbsp;true<br>&nbsp;});<br>&nbsp;})<br>&nbsp;&lt;/script&gt;<br>&nbsp;<br>&nbsp;<br>&nbsp;&lt;body&gt;<br>&nbsp;&lt;input&nbsp;type="text"&nbsp;id="txtName"&nbsp;class="date"&nbsp;value="2005-3-22"&nbsp;/&gt; &lt;!--value值可以从后台读取--&gt;<br>&nbsp;&lt;input&nbsp;type="text"&nbsp;id="txtDate2"&nbsp;class="date"&nbsp;value="1995-5-2"&nbsp;/&gt;<br>&nbsp;&lt;/body&gt;<br>&nbsp;<br>&nbsp;*&nbsp;****************&nbsp;&nbsp;End&nbsp;Example&nbsp;&nbsp;**********************<br>&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;jSelectDate&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;{<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">*<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;选项设置<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;settings&nbsp;:&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;css:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">date</span><span style="color: #000000;">"</span><span style="color: #000000;">,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;borderCss:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">date</span><span style="color: #000000;">"</span><span style="color: #000000;">,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;disabled:&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;yearBefore&nbsp;:&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;yearAfter&nbsp;:&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isShowLabel:&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;},<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">*<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;初始化对向<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;{Object}&nbsp;el&nbsp;用于存放日期结果的文本框&nbsp;jQuery&nbsp;DOM<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;init:&nbsp;</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(els){<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;els.each(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;el&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;$(</span><span style="color: #0000ff;">this</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;取得旧的日期&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;elValue&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;el.val();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elDate&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Date(elValue.split(</span><span style="color: #000000;">"</span><span style="color: #000000;">-</span><span style="color: #000000;">"</span><span style="color: #000000;">).join(</span><span style="color: #000000;">"</span><span style="color: #000000;">/</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;nYear&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;elDate.getFullYear();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;nMonth&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;jSelectDate.returnMonth(elDate.getMonth());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;nDay&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;elDate.getDate();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;隐藏给出的对向&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el.hide();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;先算出当前共有多少个jSelectDate&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;currentIdx&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;$(</span><span style="color: #000000;">"</span><span style="color: #000000;">jSelectDateBorder</span><span style="color: #000000;">"</span><span style="color: #000000;">).length&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;加入控件到文本框的位置&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;spanDate&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;document.createElement(</span><span style="color: #000000;">"</span><span style="color: #000000;">span</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;spanDate.id&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">spanDate</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;currentIdx;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;spanDate.className&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">jSelectDateBorder&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;jSelectDate.settings.borderCss;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;spanDate.disabled&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;jSelectDate.settings.disabled;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el.after(spanDate);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;创建年&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;selYear&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;document.createElement(</span><span style="color: #000000;">"</span><span style="color: #000000;">select</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selYear.id&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">selYear</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;currentIdx<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selYear.className&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;jSelectDate.settings.css;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selYear.disabled&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;jSelectDate.settings.disabled;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;加入选项&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;begin&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;jSelectDate.settings.yearNow&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;jSelectDate.settings.yearBefore;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;end&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;jSelectDate.settings.yearNow&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;jSelectDate.settings.yearAfter;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;begin;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;=</span><span style="color: #000000;">&nbsp;end;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;option&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;document.createElement(</span><span style="color: #000000;">"</span><span style="color: #000000;">option</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;option.value&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;i;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;option.innerHTML&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;i;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;判断是否有旧的值，如果有就选中&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">!</span><span style="color: #000000;">isNaN(nYear))&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(i&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;nYear)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;option.selected&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selYear.appendChild(option);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;option&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(spanDate).append(selYear);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;创建月&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;selMonth&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;document.createElement(</span><span style="color: #000000;">"</span><span style="color: #000000;">select</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selMonth.id&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">selMonth</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;currentIdx<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selMonth.className&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;jSelectDate.settings.css;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selMonth.disabled&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;jSelectDate.settings.disabled;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;加入选项&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">12</span><span style="color: #000000;">;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;option&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;document.createElement(</span><span style="color: #000000;">"</span><span style="color: #000000;">option</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;option.value&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;i;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;option.innerHTML&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;i;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;判断是否有旧的值，如果有就选中&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">!</span><span style="color: #000000;">isNaN(nMonth))&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(i&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;nMonth)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;option.selected&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selMonth.appendChild(option);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;option&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;加入控件到文本框的位置&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(selYear).after(selMonth);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;创建日&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;selDay&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;document.createElement(</span><span style="color: #000000;">"</span><span style="color: #000000;">select</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selDay.id&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">selDay</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;currentIdx<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selDay.className&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;jSelectDate.settings.css;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selDay.disabled&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;jSelectDate.settings.disabled;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;算出最大的天数&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;maxDayNum&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">30</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(nMonth&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(jSelectDate.isLeapYear(nYear))&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxDayNum&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">29</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxDayNum&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">28</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(jSelectDate.isLargeMonth(nMonth))&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxDayNum&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">31</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;加入选项&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;=</span><span style="color: #000000;">&nbsp;maxDayNum;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;option&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;document.createElement(</span><span style="color: #000000;">"</span><span style="color: #000000;">option</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;option.value&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;i;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;option.innerHTML&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;i;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;判断是否有旧的值，如果有就选中&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">!</span><span style="color: #000000;">isNaN(nDay))&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(i&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;nDay)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;option.selected&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selDay.appendChild(option);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;option&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;加入控件到文本框的位置&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(selMonth).after(selDay);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(jSelectDate.settings.isShowLabel)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(selMonth).before(</span><span style="color: #000000;">"</span><span style="color: #000000;">年&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(selDay).before(</span><span style="color: #000000;">"</span><span style="color: #000000;">月&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(selDay).after(</span><span style="color: #000000;">"</span><span style="color: #000000;">日</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(selMonth).before(</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(selDay).before(</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;返回当前选择的日期&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;getDate&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;year&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;$(selYear).val();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;month&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;$(selMonth).val();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;day&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;$(selDay).val();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el.val(year&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">-</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;month&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">-</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;day);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">*<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;给几个下拉列表加入更改后的事件<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(selDay).change(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;getDate();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(selMonth).change(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jSelectDate.progressDaySize(</span><span style="color: #0000ff;">this</span><span style="color: #000000;">,</span><span style="color: #0000ff;">true</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;更新文本框中的日期&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;getDate();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(selYear).change(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jSelectDate.progressDaySize(</span><span style="color: #0000ff;">this</span><span style="color: #000000;">,</span><span style="color: #0000ff;">false</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;getDate();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;},<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">*<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;判断是否闰年<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;{Object}&nbsp;year<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@author&nbsp;没剑&nbsp;http://regedit.cnblogs.com<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;isLeapYear&nbsp;:&nbsp;</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(year){&nbsp;<br>　　&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">0</span><span style="color: #000000;">==</span><span style="color: #000000;">year</span><span style="color: #000000;">%</span><span style="color: #000000;">4</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">((year</span><span style="color: #000000;">%</span><span style="color: #000000;">100</span><span style="color: #000000;">!=</span><span style="color: #000000;">0</span><span style="color: #000000;">)</span><span style="color: #000000;">||</span><span style="color: #000000;">(year</span><span style="color: #000000;">%</span><span style="color: #000000;">400</span><span style="color: #000000;">==</span><span style="color: #000000;">0</span><span style="color: #000000;">)));<br>　　},<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">*<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;判断是否是大月<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;{Object}&nbsp;monthNum<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;isLargeMonth&nbsp;:&nbsp;</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(monthNum){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;largeArray&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;[</span><span style="color: #0000ff;">true</span><span style="color: #000000;">,</span><span style="color: #0000ff;">false</span><span style="color: #000000;">,</span><span style="color: #0000ff;">true</span><span style="color: #000000;">,</span><span style="color: #0000ff;">false</span><span style="color: #000000;">,</span><span style="color: #0000ff;">true</span><span style="color: #000000;">,</span><span style="color: #0000ff;">false</span><span style="color: #000000;">,</span><span style="color: #0000ff;">true</span><span style="color: #000000;">,</span><span style="color: #0000ff;">true</span><span style="color: #000000;">,</span><span style="color: #0000ff;">false</span><span style="color: #000000;">,</span><span style="color: #0000ff;">true</span><span style="color: #000000;">,</span><span style="color: #0000ff;">false</span><span style="color: #000000;">,</span><span style="color: #0000ff;">true</span><span style="color: #000000;">];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;largeArray[monthNum&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">];<br>&nbsp;&nbsp;&nbsp;&nbsp;},<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;returnMonth:&nbsp;</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(num){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;arr&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Array(</span><span style="color: #000000;">"</span><span style="color: #000000;">1</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">2</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">3</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">4</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">5</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">6</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">7</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">8</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">9</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">10</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">11</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">12</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;arr[num];<br>&nbsp;&nbsp;&nbsp;&nbsp;},<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">*<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;创建一个Option对象<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;{Object}&nbsp;value&nbsp;值<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;{Object}&nbsp;text&nbsp;文本<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;createOption&nbsp;:&nbsp;</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(value,text){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;option&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;document.createElement(</span><span style="color: #000000;">"</span><span style="color: #000000;">option</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;option.value&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;value;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;option.innerHTML&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;text;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;option;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;},<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">*<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;处理天数<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;{Object}&nbsp;el&nbsp;下拉列表对像<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;{Object}&nbsp;isMonth&nbsp;是否是月的下拉列表&nbsp;或者就处理&nbsp;年的下拉列表<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;progressDaySize:&nbsp;</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(el,isMonth){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(isMonth&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;选择月时处理大月、小月和二月的情况&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;month&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;$(el).val();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;year&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;$($(</span><span style="color: #000000;">"</span><span style="color: #000000;">select</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;$(el).parent())[</span><span style="color: #000000;">0</span><span style="color: #000000;">]).val()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;selDay&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;$($(</span><span style="color: #000000;">"</span><span style="color: #000000;">select</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;$(el).parent())[</span><span style="color: #000000;">2</span><span style="color: #000000;">]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(month&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;2月处理&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="color: #000000;">"</span><span style="color: #000000;">option:contains('31')</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;selDay).remove();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="color: #000000;">"</span><span style="color: #000000;">option:contains('30')</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;selDay).remove();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;闰年处理&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">!</span><span style="color: #000000;">jSelectDate.isLeapYear(year))&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="color: #000000;">"</span><span style="color: #000000;">option:contains('29')</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;selDay).remove();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;($(</span><span style="color: #000000;">"</span><span style="color: #000000;">option:contains('29')</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;selDay).length&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selDay.append(jSelectDate.createOption(</span><span style="color: #000000;">29</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">29</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">!</span><span style="color: #000000;">jSelectDate.isLargeMonth(month))&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;小月处理&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;($(</span><span style="color: #000000;">"</span><span style="color: #000000;">option:contains('30')</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;selDay).length&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selDay.append(jSelectDate.createOption(</span><span style="color: #000000;">30</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">30</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="color: #000000;">"</span><span style="color: #000000;">option:contains('31')</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;selDay).remove();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;大月处理&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;($(</span><span style="color: #000000;">"</span><span style="color: #000000;">option:contains('30')</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;selDay).length&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selDay.append(jSelectDate.createOption(</span><span style="color: #000000;">30</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">30</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;($(</span><span style="color: #000000;">"</span><span style="color: #000000;">option:contains('31')</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;selDay).length&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selDay.append(jSelectDate.createOption(</span><span style="color: #000000;">31</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">31</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;处理闰年的二月问题&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;panelDate&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;$(el).parent();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;year&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;$(el).val();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;month&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;$($(</span><span style="color: #000000;">"</span><span style="color: #000000;">select</span><span style="color: #000000;">"</span><span style="color: #000000;">,panelDate)[</span><span style="color: #000000;">1</span><span style="color: #000000;">]).val()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;selDay&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;$($(</span><span style="color: #000000;">"</span><span style="color: #000000;">select</span><span style="color: #000000;">"</span><span style="color: #000000;">,panelDate)[</span><span style="color: #000000;">2</span><span style="color: #000000;">]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(month&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="color: #000000;">"</span><span style="color: #000000;">option:contains('31')</span><span style="color: #000000;">"</span><span style="color: #000000;">,selDay).remove();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="color: #000000;">"</span><span style="color: #000000;">option:contains('30')</span><span style="color: #000000;">"</span><span style="color: #000000;">,selDay).remove();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(</span><span style="color: #000000;">!</span><span style="color: #000000;">&nbsp;jSelectDate.isLeapYear(year)){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="color: #000000;">"</span><span style="color: #000000;">option:contains('29')</span><span style="color: #000000;">"</span><span style="color: #000000;">,selDay).remove();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">($(</span><span style="color: #000000;">"</span><span style="color: #000000;">option:contains('29')</span><span style="color: #000000;">"</span><span style="color: #000000;">,selDay).length&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selDay.append(jSelectDate.createOption(</span><span style="color: #000000;">29</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">29</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>}<br><br>jQuery.fn.jSelectDate&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(settings){<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;getNowYear&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;得到现在的年&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;date&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Date();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;date.getFullYear();<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">alert(settings.yearBefore);</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;jSelectDate.settings.yearNow&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;getNowYear();<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;$.extend(jSelectDate.settings,&nbsp;settings);<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;jSelectDate.init($(</span><span style="color: #0000ff;">this</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;$(</span><span style="color: #0000ff;">this</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>}</span></div>
<br><img src ="http://www.phpweblog.net/fuyongjie/aggbug/6236.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2008-12-23 17:04 <a href="http://www.phpweblog.net/fuyongjie/archive/2008/12/23/6236.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>将jQuery对象转化为一个DOM对象（query获得焦点）</title><link>http://www.phpweblog.net/fuyongjie/archive/2008/12/23/6235.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Tue, 23 Dec 2008 08:56:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2008/12/23/6235.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/6235.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2008/12/23/6235.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/6235.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/6235.html</trackback:ping><description><![CDATA[用jquery获得焦点时直接是做不到的，需将jQuery对象转化为一个DOM对象，如下即可：<br>$(&#8221;#nameInput&#8221;)[0].focus()&nbsp; 简单的加一个[0] 便是我们想要的了<img src ="http://www.phpweblog.net/fuyongjie/aggbug/6235.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2008-12-23 16:56 <a href="http://www.phpweblog.net/fuyongjie/archive/2008/12/23/6235.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> 浏览器定位问题</title><link>http://www.phpweblog.net/fuyongjie/archive/2008/12/23/6207.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Tue, 23 Dec 2008 05:53:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2008/12/23/6207.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/6207.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2008/12/23/6207.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/6207.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/6207.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">关于获取各种浏览器可见窗口大小的一点点研究<br></span><span style="color: #000000;">&lt;</span><span style="color: #000000;">script</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;getInfo()<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;s&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">""</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;网页可见区域宽：</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;document.body.clientWidth;<br>&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;网页可见区域高：</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;document.body.clientHeight;<br>&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;网页可见区域宽：</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;document.body.offsetWidth&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;(包括边线和滚动条的宽)</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;网页可见区域高：</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;document.body.offsetHeight&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;(包括边线的宽)</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;网页正文全文宽：</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;document.body.scrollWidth;<br>&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;网页正文全文高：</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;document.body.scrollHeight;<br>&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;网页被卷去的高(ff)：</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;document.body.scrollTop;<br>&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;网页被卷去的高(ie)：</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;document.documentElement.scrollTop;<br>&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;网页被卷去的左：</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;document.body.scrollLeft;<br>&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;网页正文部分上：</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;window.screenTop;<br>&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;网页正文部分左：</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;window.screenLeft;<br>&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;屏幕分辨率的高：</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;window.screen.height;<br>&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;屏幕分辨率的宽：</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;window.screen.width;<br>&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;屏幕可用工作区高度：</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;window.screen.availHeight;<br>&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;屏幕可用工作区宽度：</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;window.screen.availWidth;<br>&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;你的屏幕设置是&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;window.screen.colorDepth&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;位彩色</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;你的屏幕设置&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;window.screen.deviceXDPI&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;像素/英寸</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">alert&nbsp;(s);</span><span style="color: #008000;"><br></span><span style="color: #000000;">}<br>getInfo();<br></span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">script</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br>在我本地测试当中：<br>在IE、FireFox、Opera下都可以使用<br>document.body.clientWidth<br>document.body.clientHeight<br>即可获得，很简单，很方便。<br>而在公司项目当中：<br>Opera仍然使用<br>document.body.clientWidth<br>document.body.clientHeight<br>可是IE和FireFox则使用<br>document.documentElement.clientWidth<br>document.documentElement.clientHeight<br>原来是W3C的标准在作怪啊<br></span><span style="color: #000000;">&lt;!</span><span style="color: #000000;">DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">-//W3C//DTD&nbsp;XHTML&nbsp;1.0&nbsp;Transitional//EN</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</span><span style="color: #000000;">"</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br>如果在页面中添加这行标记的话<br><br>在IE中：<br>document.body.clientWidth&nbsp;</span><span style="color: #000000;">==&gt;</span><span style="color: #000000;">&nbsp;BODY对象宽度<br>document.body.clientHeight&nbsp;</span><span style="color: #000000;">==&gt;</span><span style="color: #000000;">&nbsp;BODY对象高度<br>document.documentElement.clientWidth&nbsp;</span><span style="color: #000000;">==&gt;</span><span style="color: #000000;">&nbsp;可见区域宽度<br>document.documentElement.clientHeight&nbsp;</span><span style="color: #000000;">==&gt;</span><span style="color: #000000;">&nbsp;可见区域高度<br>在FireFox中：<br>document.body.clientWidth&nbsp;</span><span style="color: #000000;">==&gt;</span><span style="color: #000000;">&nbsp;BODY对象宽度<br>document.body.clientHeight&nbsp;</span><span style="color: #000000;">==&gt;</span><span style="color: #000000;">&nbsp;BODY对象高度<br>document.documentElement.clientWidth&nbsp;</span><span style="color: #000000;">==&gt;</span><span style="color: #000000;">&nbsp;可见区域宽度<br>document.documentElement.clientHeight&nbsp;</span><span style="color: #000000;">==&gt;</span><span style="color: #000000;">&nbsp;可见区域高度<br></span><span style="color: #000000;">?</span><span style="color: #000000;"><br>在Opera中：<br>document.body.clientWidth&nbsp;</span><span style="color: #000000;">==&gt;</span><span style="color: #000000;">&nbsp;可见区域宽度<br>document.body.clientHeight&nbsp;</span><span style="color: #000000;">==&gt;</span><span style="color: #000000;">&nbsp;可见区域高度<br>document.documentElement.clientWidth&nbsp;</span><span style="color: #000000;">==&gt;</span><span style="color: #000000;">&nbsp;页面对象宽度（即BODY对象宽度加上Margin宽）<br>document.documentElement.clientHeight&nbsp;</span><span style="color: #000000;">==&gt;</span><span style="color: #000000;">&nbsp;页面对象高度（即BODY对象高度加上Margin高）<br>而如果没有定义W3C的标准，则<br>IE为：<br>document.documentElement.clientWidth&nbsp;</span><span style="color: #000000;">==&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;"><br>document.documentElement.clientHeight&nbsp;</span><span style="color: #000000;">==&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;"><br>FireFox为：<br>document.documentElement.clientWidth&nbsp;</span><span style="color: #000000;">==&gt;</span><span style="color: #000000;">&nbsp;页面对象宽度（即BODY对象宽度加上Margin宽）document.documentElement.clientHeight&nbsp;</span><span style="color: #000000;">==&gt;</span><span style="color: #000000;">&nbsp;页面对象高度（即BODY对象高度加上Margin高）<br>Opera为：<br>document.documentElement.clientWidth&nbsp;</span><span style="color: #000000;">==&gt;</span><span style="color: #000000;">&nbsp;页面对象宽度（即BODY对象宽度加上Margin宽）document.documentElement.clientHeight&nbsp;</span><span style="color: #000000;">==&gt;</span><span style="color: #000000;">&nbsp;页面对象高度（即BODY对象高度加上Margin高）<br>真是一件麻烦事情，其实就开发来看，宁可少一些对象和方法，不使用最新的标准要方便许多啊。</span></div>
<br><img src ="http://www.phpweblog.net/fuyongjie/aggbug/6207.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2008-12-23 13:53 <a href="http://www.phpweblog.net/fuyongjie/archive/2008/12/23/6207.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>（转）jQuery插件 - 下拉列表日期选择控</title><link>http://www.phpweblog.net/fuyongjie/archive/2008/12/18/6190.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Thu, 18 Dec 2008 12:23:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2008/12/18/6190.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/6190.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2008/12/18/6190.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/6190.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/6190.html</trackback:ping><description><![CDATA[<div class="postTitle"><a  href="http://www.cnblogs.com/huacn/archive/2008/01/24/jquery_plugin_jSelectDate.html" class="postTitle2" id="AjaxHolder_ctl01_TitleUrl"><br></a>
</div>
日期选择在开发中的应用应该是再常见不过的了~<br>以前大多数的日期选择基本上以这种形式体现：<br><br>图1:<br><img  src="http://images.cnblogs.com/cnblogs_com/huacn/calendar_1.PNG" alt="" border="0"><br><br>图2:<br><img  src="http://images.cnblogs.com/cnblogs_com/huacn/calendar_2.PNG" alt="" border="0"><br><br><br>但是，在我们经过很多次的使用和用户反馈中得之，这种方式操作不够方便，虽然看起来很直观，但如果是选2009，以&#8220;图1&#8221;哪种方式就很难操作，需要用户点击好多次才可以选到。图2的还要好些，不过感觉上还是不怎么好。<br><br>于是，有些网站就出现了以这种形式出现的日期选择控件：<br><img  src="http://images.cnblogs.com/cnblogs_com/huacn/calendar_3.PNG" alt="" border="0"><br><br><span style="color: red;">另外有一点比较重要的！图一图二的哪种方式，无法用键盘操作，比如我在填写表单的时候经常会直接去输入 2005 12 25
这种类似的，如果通过下拉列表来分别选择年、月、日，这种感觉就会好多了，也支持用键盘快速输入。</span><br><br>如何很方便的实现这种功能呢？如果按普通的方式放三个下拉列表框来实现的话，将会写很多复杂的代码。<br>于是我自已做了一个很简单的jQuery插件，实现这种下拉列表的日期选择功能。<br>使用的时候你只用调用一个js就可以将指定的文本框转换成这种形式的日期选择，但提交的时候依然还是读取哪个文本框。<br>如以下代码：<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><img  src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" alt="" align="top"><span style="color: #0000ff;">&lt;!</span><span style="color: #ff00ff;">DOCTYPE&nbsp;HTML&nbsp;PUBLIC&nbsp;"-//W3C//DTD&nbsp;HTML&nbsp;4.01//EN"&nbsp;"http://www.w3.org/TR/html4/strict.dtd"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" alt="" align="top"></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">html</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" alt="" align="top">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">head</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" alt="" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">meta&nbsp;</span><span style="color: #ff0000;">http-equiv</span><span style="color: #0000ff;">="Content-Type"</span><span style="color: #ff0000;">&nbsp;content</span><span style="color: #0000ff;">="text/html;&nbsp;charset=utf-8"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" alt="" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">title</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">jQuery插件之下拉列表日期控件&nbsp;-&nbsp;jQuery.jSelectDate</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">title</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" alt="" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">script&nbsp;</span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text/javascript"</span><span style="color: #ff0000;">&nbsp;src</span><span style="color: #0000ff;">="scripts/jquery.js"</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">script</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" alt="" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">script&nbsp;</span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text/javascript"</span><span style="color: #ff0000;">&nbsp;src</span><span style="color: #0000ff;">="scripts/jquery.jSelectDate.js"</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">script</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedBlockStart.gif" id="Codehighlighter1_413_605_Open_Image" onclick="this.style.display='none'; document.getelementbyid('codehighlighter1_413_605_open_text').style.display="'none';" document.getelementbyid('codehighlighter1_413_605_closed_image').style.display="'inline';" document.getelementbyid('codehighlighter1_413_605_closed_text').style.display="'inline';"" alt="" align="top"><img  src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedBlock.gif" id="Codehighlighter1_413_605_Closed_Image" style="display: none;" onclick="this.style.display='none'; document.getelementbyid('codehighlighter1_413_605_closed_text').style.display="'none';" document.getelementbyid('codehighlighter1_413_605_open_image').style.display="'inline';" document.getelementbyid('codehighlighter1_413_605_open_text').style.display="'inline';"" alt="" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">script&nbsp;</span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text/javascript"</span><span style="color: #0000ff;">&gt;</span><span id="Codehighlighter1_413_605_Closed_Text" style="border: 1px solid #808080; display: none; background-color: #ffffff;"><img  src="http://www.cnblogs.com/Images/dot.gif" alt=""></span><span id="Codehighlighter1_413_605_Open_Text"><span style="color: #000000; background-color: #f5f5f5;"><br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" alt="" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" id="Codehighlighter1_447_573_Open_Image" onclick="this.style.display='none'; document.getelementbyid('codehighlighter1_447_573_open_text').style.display="'none';" document.getelementbyid('codehighlighter1_447_573_closed_image').style.display="'inline';" document.getelementbyid('codehighlighter1_447_573_closed_text').style.display="'inline';"" alt="" align="top"><img  src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" id="Codehighlighter1_447_573_Closed_Image" style="display: none;" onclick="this.style.display='none'; document.getelementbyid('codehighlighter1_447_573_closed_text').style.display="'none';" document.getelementbyid('codehighlighter1_447_573_open_image').style.display="'inline';" document.getelementbyid('codehighlighter1_447_573_open_text').style.display="'inline';"" alt="" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="color: #000000; background-color: #f5f5f5;">"</span><span style="color: #000000; background-color: #f5f5f5;">body</span><span style="color: #000000; background-color: #f5f5f5;">"</span><span style="color: #000000; background-color: #f5f5f5;">).ready(</span><span style="color: #0000ff; background-color: #f5f5f5;">function</span><span style="color: #000000; background-color: #f5f5f5;">()</span><span id="Codehighlighter1_447_573_Closed_Text" style="border: 1px solid #808080; display: none; background-color: #ffffff;"><img  src="http://www.cnblogs.com/Images/dot.gif" alt=""></span><span id="Codehighlighter1_447_573_Open_Text"><span style="color: #000000; background-color: #f5f5f5;">{<br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" alt="" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" alt="" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; background-color: #f5f5f5;">//</span><span style="color: #008000; background-color: #f5f5f5;">应用方法</span><span style="color: #008000; background-color: #f5f5f5;"><br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" id="Codehighlighter1_497_565_Open_Image" onclick="this.style.display='none'; document.getelementbyid('codehighlighter1_497_565_open_text').style.display="'none';" document.getelementbyid('codehighlighter1_497_565_closed_image').style.display="'inline';" document.getelementbyid('codehighlighter1_497_565_closed_text').style.display="'inline';"" alt="" align="top"><img  src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" id="Codehighlighter1_497_565_Closed_Image" style="display: none;" onclick="this.style.display='none'; document.getelementbyid('codehighlighter1_497_565_closed_text').style.display="'none';" document.getelementbyid('codehighlighter1_497_565_open_image').style.display="'inline';" document.getelementbyid('codehighlighter1_497_565_open_text').style.display="'inline';"" alt="" align="top"></span><span style="color: #000000; background-color: #f5f5f5;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="color: #000000; background-color: #f5f5f5;">"</span><span style="color: #000000; background-color: #f5f5f5;">input.date</span><span style="color: #000000; background-color: #f5f5f5;">"</span><span style="color: #000000; background-color: #f5f5f5;">).jSelectDate(</span><span id="Codehighlighter1_497_565_Closed_Text" style="border: 1px solid #808080; display: none; background-color: #ffffff;"><img  src="http://www.cnblogs.com/Images/dot.gif" alt=""></span><span id="Codehighlighter1_497_565_Open_Text"><span style="color: #000000; background-color: #f5f5f5;">{<br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" alt="" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;css:</span><span style="color: #000000; background-color: #f5f5f5;">"</span><span style="color: #000000; background-color: #f5f5f5;">date</span><span style="color: #000000; background-color: #f5f5f5;">"</span><span style="color: #000000; background-color: #f5f5f5;">,<br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" alt="" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;yearBeign:&nbsp;</span><span style="color: #000000; background-color: #f5f5f5;">1995</span><span style="color: #000000; background-color: #f5f5f5;">,<br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" alt="" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;disabled&nbsp;:&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5;">false</span><span style="color: #000000; background-color: #f5f5f5;"><br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000; background-color: #f5f5f5;">);<br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" alt="" align="top"><br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000; background-color: #f5f5f5;">)<br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" alt="" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" alt="" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="color: #0000ff; background-color: #f5f5f5;">this</span><span style="color: #000000; background-color: #f5f5f5;">).jSelectDate<br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" alt="" align="top"><br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">script</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" alt="" align="top">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">head</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" alt="" align="top">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">body</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" alt="" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">input&nbsp;</span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text"</span><span style="color: #ff0000;">&nbsp;id</span><span style="color: #0000ff;">="txtName"</span><span style="color: #ff0000;">&nbsp;class</span><span style="color: #0000ff;">="date"</span><span style="color: #ff0000;">&nbsp;value</span><span style="color: #0000ff;">="2005-3-22"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">button&nbsp;</span><span style="color: #ff0000;">onclick</span><span style="color: #0000ff;">="alert($('#txtName').val());"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">当前值</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">button</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" alt="" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">br&nbsp;</span><span style="color: #0000ff;">/&gt;&lt;</span><span style="color: #800000;">br&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" alt="" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">input&nbsp;</span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text"</span><span style="color: #ff0000;">&nbsp;id</span><span style="color: #0000ff;">="txtDate2"</span><span style="color: #ff0000;">&nbsp;class</span><span style="color: #0000ff;">="date"</span><span style="color: #ff0000;">&nbsp;value</span><span style="color: #0000ff;">="1995-5-2"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" alt="" align="top">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">body</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" alt="" align="top"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">html</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br><img  src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" alt="" align="top"></span></div>
<br><span style="color: #4939b8;"><strong><span style="font-size: 18pt;">更新记录<br></span></strong></span>
<div style="border: 1px solid #dddddd; padding: 8px; background: #f9f9f9 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">Version
0.2 -
2008-1-24<br>1.加入了闰年、大小月和二月天数的处理<br>2.新增一个Span标签的外框，以便于设置样式<br>3.新增可设置是否在下拉列表后面加入&#8220;年、月、日&#8221;几个字<br><br><br>Version
0.1 - 2008-1-14<br>1.基本的功能实现<br><br></div>
<br><span style="color: #c03c6d;"><strong><span style="font-size: 18pt;">截图<br></span></strong></span>
<div style="border: 1px solid #dddddd; padding: 8px; background: #f9f9f9 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><img  src="http://images.cnblogs.com/cnblogs_com/huacn/jSelectDate_Simple_Screenshoot.PNG" alt="" border="0"><br></div>
<br><strong><span style="color: #39a67d;"><span style="font-size: 18pt;"><span style="color: #39a67d;">演示</span></span></span></strong><br>
<script src="http://files.cnblogs.com/huacn/jquery.jselectdate-0.2.js" type="text/javascript"></script>
<div id="panelExample" style="border: 1px solid #dddddd; padding: 8px; background: #f9f9f9 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">转换前：<input id="asdg" value="2005-12-1"> 转换后： <input class="date" id="txtDate" value="2005-12-1"> <input onclick="alert($('#txtDate').val());" value="显示出选中的值" type="button"> </div>
<script type="text/javascript">
$("input.date").jSelectDate({
class:"date",
borderCss:"dateBorder",
yearBeign:1960
});
</script>
<br><br><strong><span style="font-size: 24pt;"><span style="font-family: 微软雅黑;"><span style="font-size: 24pt;"><span style="font-size: 18pt;"><span style="color: #c8492b;">下载</span></span></span><br></span></span></strong>
<div style="border: 1px solid #dddddd; padding: 8px; background: #f9f9f9 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">源文件(9Kb)：<a  href="http://files.cnblogs.com/huacn/jquery.jSelectDate-0.2.js">http://files.cnblogs.com/huacn/jquery.jSelectDate-0.2.js</a><br>演示文件(36Kb):<a  href="http://files.cnblogs.com/huacn/jSelectDate_src_0.2.zip">http://files.cnblogs.com/huacn/jSelectDate_src_0.2.zip</a><br></div>
<br><br><img src ="http://www.phpweblog.net/fuyongjie/aggbug/6190.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2008-12-18 20:23 <a href="http://www.phpweblog.net/fuyongjie/archive/2008/12/18/6190.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jquery使select选中的一个小问题</title><link>http://www.phpweblog.net/fuyongjie/archive/2008/12/17/6180.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Wed, 17 Dec 2008 01:30:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2008/12/17/6180.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/6180.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2008/12/17/6180.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/6180.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/6180.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">jquery使select选中
：<br><br>用$(</span><span style="color: #000000;">"</span><span style="color: #000000;">#select</span><span style="color: #000000;">"</span><span style="color: #000000;">).attr('value','</span><span style="color: #000000;">2</span><span style="color: #000000;">');时firefox可以，但ie6不可以<br><br>改用$(</span><span style="color: #000000;">"</span><span style="color: #000000;">#select</span><span style="color: #000000;">"</span><span style="color: #000000;">).val('</span><span style="color: #000000;">2</span><span style="color: #000000;">'),两者都可以了，而且更简洁<br><br>自己的理解：value不是select的正规属性，这个value存在于</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">option</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">里，所以第一句在兼容上有点问题</span></div>
<br><br><img src ="http://www.phpweblog.net/fuyongjie/aggbug/6180.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2008-12-17 09:30 <a href="http://www.phpweblog.net/fuyongjie/archive/2008/12/17/6180.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个禁用浏览器的后退功能的简单方法</title><link>http://www.phpweblog.net/fuyongjie/archive/2008/12/05/6149.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Fri, 05 Dec 2008 10:25:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2008/12/05/6149.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/6149.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2008/12/05/6149.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/6149.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/6149.html</trackback:ping><description><![CDATA[要禁用后退的话，在每个页面的顶部加上脚本：<br><br>history.forward();
<br><img src ="http://www.phpweblog.net/fuyongjie/aggbug/6149.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2008-12-05 18:25 <a href="http://www.phpweblog.net/fuyongjie/archive/2008/12/05/6149.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IE和Firefox下javascript的一点不同</title><link>http://www.phpweblog.net/fuyongjie/archive/2008/12/05/6148.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Fri, 05 Dec 2008 07:01:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2008/12/05/6148.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/6148.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2008/12/05/6148.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/6148.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/6148.html</trackback:ping><description><![CDATA[<div class="blog_content">1、发现IE下input标签的id属性默认和name属性相同，而Firefox必须明确写出id属性的名称否则不能使用id属性。 <br>
<br>
如：&lt;input type="text" name="username" value=""&gt; <br>
在IE下如下代码可以执行而在Firefox下却不可以： <br>
&lt;script&gt; <br>
alert(document.getElementById("username").value); <br>
&lt;/script&gt; <br>
必须改为如下代码才可以： <br>
&lt;input type="text" name="username" id="username" value=""&gt; <br>
<br>
<br>
以下为转载： <br>
1. document.formName.item("itemName") 问题 <br>
说明:IE下,可以使用document.formName.item("itemName")或document.formName.elements["elementName"]; <br>
Firefox下,只能使用document.formName.elements["elementName"]. <br>
解决方法:统一使用document.formName.elements["elementName"]. <br>
<br>
2.集合类对象问题 <br>
说明:IE下,可以使用()或[]获取集合类对象;Firefox下,只能使用[]获取集合类对象. <br>
解决方法:统一使用[]获取集合类对象. <br>
<br>
3.自定义属性问题 <br>
说明:IE下,可以使用获取常规属性的方法来获取自定义属性,也可以使用getAttribute()获取自定义属性;Firefox下,只能使用getAttribute()获取自定义属性. <br>
解决方法:统一通过getAttribute()获取自定义属性. <br>
<br>
4.eval("idName")问题 <br>
说明:IE下,,可以使用eval("idName")或getElementById("idName")来取得id为idName的HTML对
象;Firefox下只能使用getElementById("idName")来取得id为idName的HTML对象. <br>
解决方法:统一用getElementById("idName")来取得id为idName的HTML对象. <br>
<br>
5.变量名与某HTML对象ID相同的问题 <br>
说明:IE下,HTML对象的ID可以作为document的下属对象变量名直接使用;Firefox下则不能.Firefox下,可以使用与HTML对象ID相同的变量名;IE下则不能。 <br>
解决方法:使用document.getElementById("idName")代替document.idName.最好不要取HTML对象ID相
同的变量名,以减少错误;在声明变量时,一律加上var,以避免歧义. <br>
<br>
6.const问题 <br>
说明:Firefox下,可以使用const关键字或var关键字来定义常量;IE下,只能使用var关键字来定义常量. <br>
解决方法:统一使用var关键字来定义常量. <br>
<br>
7.input.type属性问题 <br>
说明:IE下input.type属性为只读;但是Firefox下input.type属性为读写. <br>
<br>
8.window.event问题 <br>
说明:window.event只能在IE下运行,而不能在Firefox下运行,这是因为Firefox的event只能在事件发生的现场使用.
Firefox必须从源处加入event作参数传递。Ie忽略该参数，用window.event来读取该event。 <br>
解决方法: <br>
IE&amp;Firefox: <br>
Submitted(event)"/&gt; &#8230; <br>
&lt;script language="javascript"&gt; <br>
function Submitted(evt) { <br>
evt=evt?evt:(window.event?window.event:null); <br>
} <br>
&lt;/script&gt;</div>
<div class="blog_content"><font color="#ff0000"><font style="background-color: #f5f5f5;">window.open("</font>b.html","","modal=yes,width=500,height=500,resizable=no,scrollbars=no"</font><font color="#000000"><font color="#ff0000">);</font> <br>
</font><br>
<br>
9.event.x与event.y问题 <br>
说明:IE下,even对象有x,y属性,但是没有pageX,pageY属性;Firefox下,even对象有pageX,pageY属性,但是没有x,y属性. <br>
解决方法:使用mX(mX = event.x ? event.x : event.pageX;)来代替IE下的event.x或者Firefox下的event.pageX. <br>
<br>
10.event.srcElement问题 <br>
说明:IE下,event对象有srcElement属性,但是没有target属性;Firefox下,even对象有target属性,但是没有srcElement属性. <br>
解决方法:使用obj(obj = event.srcElement ? event.srcElement :
event.target;)来代替IE下的event.srcElement或者Firefox下的event.target.
请同时注意event的兼容性问题。 <br>
<br>
11.window.location.href问题 <br>
说明:IE或者Firefox2.0.x下,可以使用window.location或window.location.href;Firefox1.5.x下,只能使用window.location. <br>
解决方法:使用window.location来代替window.location.href. <br>
<br>
12.模态和非模态窗口问题 <br>
说明:IE下,可以通过showModalDialog和showModelessDialog打开模态和非模态窗口;Firefox下则不能. <br>
解决方法:直接使用window.open(pageURL,name,parameters)方式打开新窗口。 <br>
如果需要将子窗口中的参数传递回父窗口,可以在子窗口中使用window.opener来访问父窗口. 例如：var parWin = window.opener; parWin.document.getElementById("Aqing").value = "Aqing"; <br>
<br>
13.frame问题 <br>
以下面的frame为例： <br>
&lt;frame src="xxx.html" id="frameId" name="frameName" /&gt; <br>
(1)访问frame对象: <br>
IE:使用window.frameId或者window.frameName来访问这个frame对象. frameId和frameName可以同名。 <br>
Firefox:只能使用window.frameName来访问这个frame对象. <br>
另外，在IE和Firefox中都可以使用window.document.getElementById("frameId")来访问这个frame对象. <br>
(2)切换frame内容: <br>
在IE 和Firefox中都可以使用window.document.getElementById("testFrame").src =
"xxx.html"或window.frameName.location = "xxx.html"来切换frame的内容. <br>
如果需要将frame中的参数传回父窗口(注意不是opener,而是parent frame)，可以在frme中使用parent来访问父窗口。例如：parent.document.form1.filename.value="Aqing"; <br>
<br>
14.body问题 <br>
Firefox的body在body标签没有被浏览器完全读入之前就存在；而IE的body则必须在body标签被浏览器完全读入之后才存在. <br>
<br>
15. 事件委托方法 <br>
IE：document.body.onload = inject; //Function inject()在这之前已被实现 <br>
Firefox：document.body.onload = inject(); <br>
<br>
16. firefox与IE的父元素(parentElement)的区别 <br>
IE：obj.parentElement <br>
firefox：obj.parentNode <br>
解决方法: 因为firefox与IE都支持DOM,因此使用obj.parentNode是不错选择. <br>
<br>
17.cursor:hand VS cursor:pointer <br>
firefox不支持hand，但ie支持pointer <br>
解决方法: 统一使用pointer <br>
<br>
18.innerText在IE中能正常工作，但是innerText在FireFox中却不行. 需用textContent。 <br>
解决方法: <br>
if(navigator.appName.indexOf("Explorer") &gt; -1){ <br>
document.getElementById(&amp;apos;element&amp;apos;).innerText = "my text"; <br>
} else{ <br>
document.getElementById(&amp;apos;element&amp;apos;).textContent = "my text"; <br>
} <br>
<br>
19. FireFox中设置HTML标签的style时，所有位置性和字体尺寸的值必须后跟px。这个ie也是支持的。 <br>
<br>
20. ie,firefox以及其它浏览器对于 table 标签的操作都各不相同，在ie中不允许对table和tr的innerHTML赋值，使用js增加一个tr时，使用appendChild方法也不管用。 <br>
解决方法： <br>
//向table追加一个空行： <br>
var row = otable.insertRow(-1); <br>
var cell = document.createElement("td"); <br>
cell.innerHTML = " "; <br>
cell.className = "XXXX"; <br>
row.appendChild(cell); <br>
<br>
21. padding 问题 <br>
padding 5px 4px 3px 1px FireFox无法解释简写, <br>
必须改成 padding-top:5px; padding-right:4px; padding-bottom:3px; padding-left:1px; <br>
<br>
22. 消除ul、ol等列表的缩进时 <br>
样式应写成:list-style:none;margin:0px;padding:0px; <br>
其中margin属性对IE有效，padding属性对FireFox有效 <br>
<br>
23. CSS透明 <br>
IE：filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=60)。 <br>
FF：opacity:0.6。 <br>
<br>
24. CSS圆角 <br>
IE：不支持圆角。 <br>
FF：
-moz-border-radius:4px，或者-moz-border-radius-topleft:4px;-moz-border-
radius-topright:4px;-moz-border-radius-bottomleft:4px;-moz-border-
radius- bottomright:4px;。 <br>
<br>
25. CSS双线凹凸边框 <br>
IE：border:2px outset;。 <br>
FF： -moz-border-top-colors: #d4d0c8 white;-moz-border-left-colors:
#d4d0c8 white;-moz-border-right-colors:#404040
#808080;-moz-border-bottom-colors:#404040 #808080; <br>
<br>
26. 对select的options集合操作 <br>
枚举元素除了[]外，selectName.options.item()也是可以的, 另外selectName.options.length,
selectName.options.add/remove都可以在两种浏览器上使用。注意在add后赋值元素，否则会失败（本人试验如此）。 <br>
<br>
27. XMLHTTP的区别 <br>
//mf <br>
if (window.XMLHttpRequest) //mf <br>
{ <br>
xmlhttp=new XMLHttpRequest() <br>
xmlhttp. <br>
xmlhttp.open("GET",url,true) <br>
xmlhttp.send(null) <br>
} <br>
//ie <br>
else if (window.ActiveXObject) // code for IE <br>
{ <br>
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP") <br>
if (xmlhttp) <br>
{ <br>
xmlhttp. <br>
xmlhttp.open("GET",url,true) <br>
xmlhttp.send() <br>
} <br>
} <br>
} <br>
<br>
28. innerHTML的区别 <br>
Firefox不支持innerHTML, 解决办法可以如下 <br>
rng = document.createRange(); <br>
el = document.getElementById(elementid); <br>
rng.setStartBefore(el); <br>
htmlFrag = rng.createContextualFragment(content); <br>
while (el.hasChildNodes()) //清除原有内容，加入新内容 <br>
el.removeChild(el.lastChild); <br>
el.appendChild(htmlFrag); <br>
<br>
29. img的src刷新问题 <br>
在IE 下可以用&lt;img id="pic" onclick= "this.src=
&amp;apos;aa.php&amp;apos;" src="aa.php" style="cursor: pointer"/&gt;
可以刷新图片，但在FireFox下不行。主要是缓存问题，在地址后面加个随机数就解决了。编辑onclick事件代码如下：
"this.src=this.src+&amp;apos;?&amp;apos;+Math.random()"</div><img src ="http://www.phpweblog.net/fuyongjie/aggbug/6148.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2008-12-05 15:01 <a href="http://www.phpweblog.net/fuyongjie/archive/2008/12/05/6148.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[JS]Cookie精通之路</title><link>http://www.phpweblog.net/fuyongjie/archive/2008/12/01/6142.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Mon, 01 Dec 2008 07:39:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2008/12/01/6142.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/6142.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2008/12/01/6142.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/6142.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/6142.html</trackback:ping><description><![CDATA[<span class="mainfont" id="zoom">&lt;!—Cookies，有些人喜欢它们，有些人憎恨它们。但是，很少有人真正知道如何使用它们。现在你可以成为少数人中的成员－可以自傲的Cookie 大师。--&gt;<br><br>如
果你象作者一样记性不好，那么你可能根本记不住人们的名字。我遇到人时，多半只是点点头，问句&#8220;吃了嘛！&#8221;，而且期望问候到此为止。如果还需要表示些什
么，那么我就得求助于一些狡猾的技巧，好让我能想对方是谁。比如胡扯起一些和对方有关的人，不管他们之间关系多远，只要能避免不记得对方名字的尴尬就好：
&#8220;你隔壁邻居的侄子的可爱小狗迈菲斯特怎么样？&#8221;通过这个方法，我希望能让对方感到，我确实很重视他（她），甚至还记得这些琐事，虽然实际上连名字都忘记
了。但是，不是我不重视，而是我的记忆力实在是糟糕，而且要记住的名字又实在太多。如果我能给每个人设置cookies，那么我就不会再犯这种记忆力问题
了。<br><br>在这篇文章里，我们要学习：<br><br>1. 什么是 Cookies?<br>2. Cookie 的构成<br>3. 操纵 Cookies<br>4. Cookie 怪兽<br><br>什么是Cookies?<br><br>你会问，什么是cookies呢? cookie 是浏览器保存在用户计算机上的少量数据。它与特定的WEB页或WEB站点关联起来，自动地在WEB浏览器和WEB服务器之间传递。<br><br>比
如，如果你运行的是Windows操作系统，使用Internet
Explorer上网，那么你会发现在你的&#8220;Windows&#8221;目录下面有一个子目录，叫做&#8220;Temporary Internet
Files&#8221;。如果你有空看看这个目录，就会发现里面有一些文件，文件名称看起来就象电子邮件地址。比如在我机器上的这个目录里，就有
&#8220;jim@support.microsoft.com&#8221;这样的文件。这是一个cookie
文件，这个文件从哪来呢？猜一猜，它来自微软的支持站点。顺便说一句，这不是我的电子邮件地址，特此澄清。<br><br>对于管理细小的、不重要的、不
想保存在中央数据库里的细节信息，Cookies
是个很不错的方案。（这不是说大家的名字不重要。）比如，目前网站上不断增长的自定义服务，可以为每个用户定制他们要看的内容。如果你设计的就是这样一个
站点，那么你怎么来管理这样的信息：一个用户喜欢绿色的菜单条，而另一个喜欢红色的。确实是个累人的问题。不过，这样的信息，可以很安全地记录到
cookie，并保存在用户的计算机上，而你自己的数据库空间可以留给更长久更有意义的数据。<br><br>FYI: Cookies 对于安全用途，通常很有用。我不想在此就这一问题过于深入，只是提供一个示例，可以看到如何使用在一段时间之后过期的cookies来保证站点安全：<br><br>1. 使用用户名和口令，通过 SSL 登录。<br>2. 在服务器的数据库里检查用户名和口令。如果登录成功，建立一个当前时间标签的消息摘要 (比如 MD5) ，并把它保存在cookie和服务器数据库里。把用户的登录时间保存在服务器数据库里面的用户记录里。<br>3. 在进行每个安全事务时（用户处于登录状态的任何事务），把cookie的消息摘要和保存在服务器数据库里的摘要进行比较，如果比较失败，就把用户引导到登录界面。<br>4. 如果第3步检查通过，那么检查当前时间和登录时间之音经过的时间是否超过允许的时间长度。如果用户已经超时，那么就把用户引到登录界面。<br>5. 如果第3步和第4步都通过了，那么把登录时间重新设置成当前时间，允许事务发生。那些需要你登录的安全站点，可能多数使用的都是和这里介绍的类似的方法。<br>Cookie的构成<br><br>Cookies
最初设计时，是为了CGI编程。但是，我们也可以使用Javascript脚本来操纵cookies。在本文里，我们将演示如何使用Javascript
脚本来操纵cookies。(如果有需求，我可能会在以后的文章里介绍如何使用Perl进行cookie管理。但是如果实在等不得，那么我现在就教你一
手：仔细看看CGI.pm。在这个CGI包里有一个cookie()函数，可以用它建立cookie。但是，还是让我们先来介绍cookies的本质。<br><br>在
Javascript脚本里，一个cookie
实际就是一个字符串属性。当你读取cookie的值时，就得到一个字符串，里面当前WEB页使用的所有cookies的名称和值。每个cookie除了
name名称和value值这两个属性以外，还有四个属性。这些属性是： expires过期时间、 path路径、 domain域、以及
secure安全。<br><br>Expires &#8211; 过期时间。指定cookie的生命期。具体是值是过期日期。如果想让cookie的存在期限超过当前浏览器会话时间，就必须使用这个属性。当过了到期日期时，浏览器就可以删除cookie文件，没有任何影响。<br><br>Path
&#8211;
路径。指定与cookie关联的WEB页。值可以是一个目录，或者是一个路径。如果http://www.zdnet.com/devhead
/index.html
建立了一个cookie，那么在http://www.zdnet.com/devhead/目录里的所有页面，以及该目录下面任何子目录里的页面都可以
访问这个cookie。这就是说，在http://www.zdnet.com/devhead/stories/articles
里的任何页面都可以访问http://www.zdnet.com/devhead/index.html建立的cookie。但是，如果http:
//www.zdnet.com/zdnn/
需要访问http://www.zdnet.com/devhead/index.html设置的cookes，该怎么办？这时，我们要把cookies
的path属性设置成&#8220;/&#8221;。在指定路径的时候，凡是来自同一服务器，URL里有相同路径的所有WEB页面都可以共享cookies。现在看另一个例子：
如果想让 http://www.zdnet.com/devhead/filters/
和http://www.zdnet.com/devhead/stories/共享cookies，就要把path设成&#8220;/devhead&#8221;。<br><br>Domain
&#8211; 域。指定关联的WEB服务器或域。值是域名，比如zdnet.com。这是对path路径属性的一个延伸。如果我们想让
catalog.mycompany.com 能够访问shoppingcart.mycompany.com设置的cookies，该怎么办?
我们可以把domain属性设置成&#8220;mycompany.com&#8221;，并把path属性设置成&#8220;/&#8221;。FYI：不能把cookies域属性设置成与设置它的
服务器的所在域不同的值。<br><br>Secure &#8211;
安全。指定cookie的值通过网络如何在用户和WEB服务器之间传递。这个属性的值或者是&#8220;secure&#8221;，或者为空。缺省情况下，该属性为空，也就是
使用不安全的HTTP连接传递数据。如果一个 cookie
标记为secure，那么，它与WEB服务器之间就通过HTTPS或者其它安全协议传递数据。不过，设置了secure属性不代表其他人不能看到你机器本
地保存的cookie。换句话说，把cookie设置为secure，只保证cookie与WEB服务器之间的数据传输过程加密，而保存在本地的
cookie文件并不加密。如果想让本地cookie也加密，得自己加密数据。<br><br><br><br><br>操纵Cookies<br><br>请
记住，cookie就是文档的一个字符串属性。要保存cookie，只要建立一个字符串，格式是name=&lt;value&gt;（名称＝值），然后
把文档的 document.cookie 设置成与它相等即可。比如，假设想保存表单接收到的用户名，那么代码看起来就象这样：<br><br>document.cookie = "username" + escape(form.username.value);<br><br>在这里，使用 escape() 函数非常重要，因为cookie值里可能包含分号、逗号或者空格。这就是说，在读取cookie值时，必须使用对应的unescape()函数给值解码。<br><br>我们当然还得介绍cookie的四个属性。这些属性用下面的格式加到字符串值后面：<br><br>name=&lt;value&gt;[; expires=&lt;date&gt;][; domain=&lt;domain&gt;][; path=&lt;path&gt;][; secure]<br><br>名称=&lt;值&gt;[; expires=&lt;日期&gt;][; domain=&lt;域&gt;][; path=&lt;路径&gt;][; 安全]<br><br>&lt;value&gt;,
&lt;date&gt;, &lt;domain&gt; 和 &lt;path&gt; 应当用对应的值替换。&lt;date&gt;
应当使用GMT格式，可以使用Javascript脚本语言的日期类Date的.toGMTString()
方法得到这一GMT格式的日期值。方括号代表这项是可选的。比如在 [;
secure]两边的方括号代表要想把cookie设置成安全的，就需要把"; secure" 加到cookie字符串值的后面。如果";
secure" 没有加到cookie字符串后面，那么这个cookie就是不安全的。不要把尖括号&lt;&gt; 和方括号[]
加到cookie里（除非它们是某些值的内容）。设置属性时，不限属性，可以用任何顺序设置。<br><br>下面是一个例子，在这个例子里，cookie "username" 被设置成在15分钟之后过期，可以被服务器上的所有目录访问，可以被"mydomain.com"域里的所有服务器访问，安全状态为安全。<br><br>// Date() 的构造器设置以毫秒为单位<br>// .getTime() 方法返回时间，单位为毫秒<br>// 所以要设置15分钟到期，要用60000毫秒乘15分钟<br>var expiration = new Date((new Date()).getTime() + 15 * 60000);<br>document.cookie = "username=" + escape(form.username.value)+ "; expires ="<br>+ expiration.toGMTString() + "; path=" + "/" + "; _<br>domain=" + "mydomain.com" + "; secure";<br><br>读取cookies值有点象个小把戏，因为你一次就得到了属于当前文档的所有cookies。<br><br>// 下面这个语句读取了属于当前文档的所有cookies<br>var allcookies = document.cookie;<br><br>现在，我们得解析allcookies变量里的不同cookies，找到感兴趣的指定cookie。这个工作很简单，因为我们可以利用Javascript语言提供的扩展字符串支持。<br><br>如果我们对前面分配的cookie "username" 感兴趣，可以用下面的脚本来读取它的值。<br><br>// 我们定义一个函数，用来读取特定的cookie值。<br>function getCookie(cookie_name)<br>｛<br>var allcookies = document.cookie;<br>var cookie_pos = allcookies.indexOf(cookie_name);<br><br>// 如果找到了索引，就代表cookie存在，<br>// 反之，就说明不存在。<br>if (cookie_pos != -1)<br>｛<br>// 把cookie_pos放在值的开始，只要给值加1即可。<br>cookie_pos += cookie_name.length + 1;<br>var cookie_end = allcookies.indexOf(";", cookie_pos);<br><br>if (cookie_end == -1)<br>｛<br>cookie_end = allcookies.length;<br>｝<br><br>var value = unescape(allcookies.substring(cookie_pos, cookie_end));<br>｝<br><br>return value;<br>｝<br><br>// 调用函数<br>var cookie_val = getCookie("username");<br><br>上
面例程里的 cookie_val
变量可以用来生成动态内容，或者发送给服务器端CGI脚本进行处理。现在你知道了使用Javascript脚本操纵cookies的基本方法。但是，如果
你跟我一样，那么我们要做的第一件事，就是建立一些接口函数，把cookies处理上的麻烦隐藏起来。不过，在你开始编程之前，稍候片刻。这些工作，早就
有人替你做好了。你要做的，只是到哪去找这些接口函数而已。<br><br>比如，在David Flangan的Javascript: The
Definitive Guide 3rd
Ed.这本书里，可以找到很好的cookie应用类。你也可以在Oreilly的WEB站点上找到这本书里的例子。本文最后的链接列表里，有一些访问这些
cookie示例的直接链接。<br><br><br><br>Cookies 怪兽<br><br>因为某些原因Cookies
的名声很不好。许多人利用cookies做一些卑鄙的事情，比如流量分析、点击跟踪。Cookies
也不是非常安全，特别是没有secure属性的cookies。不过，即使你用了安全的cookies，如果你和别人共用计算机，比如在网吧，那么别人就
可以窥探计算机硬盘上未加密保存的cookie文件，也就有可能窃取你的敏感信息。所以，如果你是一个WEB开发人员，那么你要认真考虑这些问题。不要滥
用cookies。不要把用户可能认为是敏感的数据保存在cookies里。如果把用户的社会保险号、信用卡号等保存在cookie里，等于把这些敏感信
息放在窗户纸下，无异于把用户投到极大危险之中。一个好的原则是，如果你不想陌生人了解你的这些信息，那就不要把它们保存在cookies里。<br><br>另
外，cookies还有一些实际的限制。Cookies保留在计算机上，不跟着用户走。如果用户想换计算机，那么新计算机无法得到原来的cookie。甚
至用户在同一台计算机上使用不同浏览器，也得不到原来的cookie：Netscape 不能读取Internet Explorer
的cookies。<br><br>还有，用户也不愿意接受cookies。所以不要以为所有的浏览器都能接受你发出的cookies。如果浏览器不接受cookies，你要保证自己的WEB站点不致因此而崩溃或中断。<br><br>另
外WEB
浏览器能保留的cookies不一定能超过300个。也没有标准规定浏览器什么时候、怎么样作废cookies。所以达到限制时，浏览器能够有效地随机删
除cookies。浏览器保留的来自一个WEB服务器上的cookies，不超过20个，每个cookie的数据（包括名称和值），不超过4K字节。(不
过，本文里的cookie尺寸没问题，它只占了12 K字节，保存在3个3 cookies里。)<br><br>简而言之，注意保持cookie简单。不要依赖cookies的存在，不要在每个cookie里保存太多信息。不要保存太多的cookes。但是，抛除这些限制，在技巧高超的WEB管理员手里，cookie的概念是一个有用的工具。<br></span><img src ="http://www.phpweblog.net/fuyongjie/aggbug/6142.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2008-12-01 15:39 <a href="http://www.phpweblog.net/fuyongjie/archive/2008/12/01/6142.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>仿雅虎yahoo多标签切换</title><link>http://www.phpweblog.net/fuyongjie/archive/2008/11/04/6013.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Tue, 04 Nov 2008 09:47:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2008/11/04/6013.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/6013.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2008/11/04/6013.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/6013.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/6013.html</trackback:ping><description><![CDATA[最近网站要改版，其中网站的改版效果设计模仿了yahoo的<strong> 多标签tab</strong> 切换,先看看yahoo的标签效果吧<br><a name="entrymore"></a>效
果看起来不错，对于网站内容很多的网站这样的标签切换很能节省页面空间，同样给浏览者以新奇的感觉。好的效果就应当使用快捷效率的方法来实现,本来想借用
yahoo的自身实现代码，但看来看去觉得其实现程序太复杂这当然是我自己的看法，也许是因为技术不够弄不明白程序作者的意图，去网上搜了一把，结果出来
的都是yahoo一样的大同小异对于初学或者根本不明白js的人想弄明白太难了，所以想想就干脆自己写出一个吧。下面我就把我实现的仿yahoo切换标签
步骤列出来，给那些跟我一样闹不明白yahoo代码的朋友分享下。<br><br>功能：<br>模仿yahoo的多标签切换，增加默认显示状态。<br>原理：<br>我总认为写程序和做其他事情一样，先把其中原理或者计划弄清楚了那我们实施起来就很容易，对于这个标签切换我们也一样想理清实现它的基本<strong> 原理</strong> ，然后编写对应的<strong> js代码</strong> 和<strong> css样式</strong> 代码。<br>实现这个标签切换的原理其实很简单，就是当鼠标滑过它时，让对应的显示框给显示出来，其他的给隐藏掉。<br>先看看我们所使用到的图片：<br>邮箱背景：a<br><img src="http://www.xqbar.com/attachment/1195786463_0.gif" width="340" border="0" height="40"><br>空间背景：b<br><img src="http://www.xqbar.com/attachment/1195786463_1.gif" width="340" border="0" height="40"><br>相册背景：c<br><img src="http://www.xqbar.com/attachment/1195786463_2.gif" width="340" border="0" height="40"><br>没用使用时的背景：d<br><img src="http://www.xqbar.com/attachment/1195786501_0.gif" width="340" border="0" height="40"> <br>我们的js代码主要就获取鼠标是否在滑动到对应标签上，如果是我们就通过js改变它的背景为对应始终状态(a或b或c),另外行的背景为没用使用时的背景(d)，同事显示、隐藏要展示的对应标签内容。<br>第一步：html组织显示<br>
<div align="left">
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">div&nbsp;</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="tabstop"</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">div&nbsp;</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="tabscontent"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">div&nbsp;</span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="tabs"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ul&nbsp;</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="tabs1"</span><span style="color: #ff0000;">&nbsp;class</span><span style="color: #0000ff;">="tabsbgc"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;&lt;</span><span style="color: #800000;">a&nbsp;</span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="http://www.xqbar.com/admin.php#"</span><span style="color: #0000ff;">&gt;&lt;</span><span style="color: #800000;">strong</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">邮箱</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">strong</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">a</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;&lt;</span><span style="color: #800000;">a&nbsp;</span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="http://www.xqbar.com/admin.php#"</span><span style="color: #0000ff;">&gt;&lt;</span><span style="color: #800000;">strong</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">空间</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">strong</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">a</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;&lt;</span><span style="color: #800000;">a&nbsp;</span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="http://www.xqbar.com/admin.php#"</span><span style="color: #0000ff;">&gt;&lt;</span><span style="color: #800000;">strong</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">相册</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">strong</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">a</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ul</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">div&nbsp;</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="tabs1previewdiv"</span><span style="color: #ff0000;">&nbsp;class</span><span style="color: #0000ff;">="previewblock"</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">div&nbsp;</span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="clear"</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">div&nbsp;</span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="tabs"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ul&nbsp;</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="tabs2"</span><span style="color: #ff0000;">&nbsp;class</span><span style="color: #0000ff;">="tabsbg"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;&lt;</span><span style="color: #800000;">a&nbsp;</span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="http://www.xqbar.com/admin.php#"</span><span style="color: #0000ff;">&gt;&lt;</span><span style="color: #800000;">strong</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">博客</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">strong</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">a</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;&lt;</span><span style="color: #800000;">a&nbsp;</span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="http://www.xqbar.com/admin.php#"</span><span style="color: #0000ff;">&gt;&lt;</span><span style="color: #800000;">strong</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">群组</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">strong</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">a</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;&lt;</span><span style="color: #800000;">a&nbsp;</span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="http://www.xqbar.com/admin.php#"</span><span style="color: #0000ff;">&gt;&lt;</span><span style="color: #800000;">strong</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">股票</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">strong</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">a</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ul</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">div&nbsp;</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="tabs2previewdiv"</span><span style="color: #ff0000;">&nbsp;class</span><span style="color: #0000ff;">="previewnone"</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">div&nbsp;</span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="clear"</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">div&nbsp;</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="tabsbottom"</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span></div>
<br><br>css 代码<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #800000;">&lt;style&nbsp;type="text/css"&gt;<br>#tabstop</span><span style="color: #000000;">{</span><span style="color: #ff0000;">background</span><span style="color: #000000;">:</span><span style="color: #0000ff;">url(images/tabstb.gif)&nbsp;0px&nbsp;0px&nbsp;no-repeat</span><span style="color: #000000;">;</span><span style="color: #ff0000;">width</span><span style="color: #000000;">:</span><span style="color: #0000ff;">350px</span><span style="color: #000000;">;</span><span style="color: #ff0000;">height</span><span style="color: #000000;">:</span><span style="color: #0000ff;">4px</span><span style="color: #000000;">;</span><span style="color: #ff0000;">&nbsp;overflow</span><span style="color: #000000;">:</span><span style="color: #0000ff;">hidden</span><span style="color: #000000;">;</span><span style="color: #000000;">}</span><span style="color: #800000;"><br>#tabscontent</span><span style="color: #000000;">{</span><span style="color: #ff0000;">width</span><span style="color: #000000;">:</span><span style="color: #0000ff;">348px</span><span style="color: #000000;">;</span><span style="color: #ff0000;">border-right</span><span style="color: #000000;">:</span><span style="color: #0000ff;">1px&nbsp;solid&nbsp;#7bbdff</span><span style="color: #000000;">;</span><span style="color: #ff0000;">border-left</span><span style="color: #000000;">:</span><span style="color: #0000ff;">1px&nbsp;solid&nbsp;#7bbdff</span><span style="color: #000000;">;</span><span style="color: #ff0000;">background</span><span style="color: #000000;">:</span><span style="color: #0000ff;">url(images/tabsbg.gif)&nbsp;0px&nbsp;0px&nbsp;repeat</span><span style="color: #000000;">;</span><span style="color: #000000;">}</span><span style="color: #800000;"><br>.tabs</span><span style="color: #000000;">{</span><span style="color: #ff0000;">width</span><span style="color: #000000;">:</span><span style="color: #0000ff;">348px</span><span style="color: #000000;">;</span><span style="color: #000000;">}</span><span style="color: #800000;"><br>.tabs&nbsp;ul</span><span style="color: #000000;">{</span><span style="color: #ff0000;">list-style</span><span style="color: #000000;">:</span><span style="color: #0000ff;">none</span><span style="color: #000000;">;</span><span style="color: #ff0000;">height</span><span style="color: #000000;">:</span><span style="color: #0000ff;">40px</span><span style="color: #000000;">;</span><span style="color: #000000;">}</span><span style="color: #800000;"><br>.tabs&nbsp;li</span><span style="color: #000000;">{</span><span style="color: #ff0000;">display</span><span style="color: #000000;">:</span><span style="color: #0000ff;">block</span><span style="color: #000000;">;</span><span style="color: #ff0000;">float</span><span style="color: #000000;">:</span><span style="color: #0000ff;">left</span><span style="color: #000000;">;</span><span style="color: #ff0000;">width</span><span style="color: #000000;">:</span><span style="color: #0000ff;">112px</span><span style="color: #000000;">;</span><span style="color: #ff0000;">height</span><span style="color: #000000;">:</span><span style="color: #0000ff;">40px</span><span style="color: #000000;">;</span><span style="color: #ff0000;">line-height</span><span style="color: #000000;">:</span><span style="color: #0000ff;">40px</span><span style="color: #000000;">;</span><span style="color: #ff0000;">&nbsp;text-align</span><span style="color: #000000;">:</span><span style="color: #0000ff;">center</span><span style="color: #000000;">;</span><span style="color: #000000;">}</span><span style="color: #800000;"><br>.tabsbg</span><span style="color: #000000;">{</span><span style="color: #ff0000;">background</span><span style="color: #000000;">:</span><span style="color: #0000ff;">url(images/tabs.gif)&nbsp;4px&nbsp;0px&nbsp;no-repeat</span><span style="color: #000000;">;</span><span style="color: #000000;">}</span><span style="color: #800000;"><br>.tabsbga</span><span style="color: #000000;">{</span><span style="color: #ff0000;">background</span><span style="color: #000000;">:</span><span style="color: #0000ff;">url(images/tabsa.gif)&nbsp;4px&nbsp;0px&nbsp;no-repeat</span><span style="color: #000000;">;</span><span style="color: #000000;">}</span><span style="color: #800000;"><br>.tabsbgb</span><span style="color: #000000;">{</span><span style="color: #ff0000;">background</span><span style="color: #000000;">:</span><span style="color: #0000ff;">url(images/tabsb.gif)&nbsp;4px&nbsp;0px&nbsp;no-repeat</span><span style="color: #000000;">;</span><span style="color: #000000;">}</span><span style="color: #800000;"><br>.tabsbgc</span><span style="color: #000000;">{</span><span style="color: #ff0000;">background</span><span style="color: #000000;">:</span><span style="color: #0000ff;">url(images/tabsc.gif)&nbsp;4px&nbsp;0px&nbsp;no-repeat</span><span style="color: #000000;">;</span><span style="color: #000000;">}</span><span style="color: #800000;"><br>.previewblock</span><span style="color: #000000;">{</span><span style="color: #ff0000;">margin</span><span style="color: #000000;">:</span><span style="color: #0000ff;">0px&nbsp;auto</span><span style="color: #000000;">;</span><span style="color: #ff0000;">width</span><span style="color: #000000;">:</span><span style="color: #0000ff;">338px</span><span style="color: #000000;">;</span><span style="color: #ff0000;">height</span><span style="color: #000000;">:</span><span style="color: #0000ff;">120px</span><span style="color: #000000;">;</span><span style="color: #ff0000;">line-height</span><span style="color: #000000;">:</span><span style="color: #0000ff;">20px</span><span style="color: #000000;">;</span><span style="color: #ff0000;">border-right</span><span style="color: #000000;">:</span><span style="color: #0000ff;">1px&nbsp;solid&nbsp;#7bbdff</span><span style="color: #000000;">;</span><span style="color: #ff0000;">border-left</span><span style="color: #000000;">:</span><span style="color: #0000ff;">1px&nbsp;solid&nbsp;#7bbdff</span><span style="color: #000000;">;</span><span style="color: #ff0000;">border-bottom</span><span style="color: #000000;">:</span><span style="color: #0000ff;">1px&nbsp;solid&nbsp;#7bbdff</span><span style="color: #000000;">;</span><span style="color: #ff0000;">&nbsp;background-color</span><span style="color: #000000;">:</span><span style="color: #0000ff;">#FFFFFF</span><span style="color: #000000;">;</span><span style="color: #000000;">}</span><span style="color: #800000;"><br>.previewnone</span><span style="color: #000000;">{</span><span style="color: #ff0000;">margin</span><span style="color: #000000;">:</span><span style="color: #0000ff;">0px&nbsp;auto</span><span style="color: #000000;">;</span><span style="color: #ff0000;">width</span><span style="color: #000000;">:</span><span style="color: #0000ff;">338px</span><span style="color: #000000;">;</span><span style="color: #ff0000;">height</span><span style="color: #000000;">:</span><span style="color: #0000ff;">120px</span><span style="color: #000000;">;</span><span style="color: #ff0000;">line-height</span><span style="color: #000000;">:</span><span style="color: #0000ff;">20px</span><span style="color: #000000;">;</span><span style="color: #ff0000;">border-right</span><span style="color: #000000;">:</span><span style="color: #0000ff;">1px&nbsp;solid&nbsp;#7bbdff</span><span style="color: #000000;">;</span><span style="color: #ff0000;">border-left</span><span style="color: #000000;">:</span><span style="color: #0000ff;">1px&nbsp;solid&nbsp;#7bbdff</span><span style="color: #000000;">;</span><span style="color: #ff0000;">border-bottom</span><span style="color: #000000;">:</span><span style="color: #0000ff;">1px&nbsp;solid&nbsp;#7bbdff</span><span style="color: #000000;">;</span><span style="color: #ff0000;">&nbsp;background-color</span><span style="color: #000000;">:</span><span style="color: #0000ff;">#FFFFFF</span><span style="color: #000000;">;</span><span style="color: #ff0000;">display</span><span style="color: #000000;">:</span><span style="color: #0000ff;">none</span><span style="color: #000000;">;</span><span style="color: #000000;">}</span><span style="color: #800000;"><br>#tabsbottom</span><span style="color: #000000;">{</span><span style="color: #ff0000;">background</span><span style="color: #000000;">:</span><span style="color: #0000ff;">url(images/tabstb.gif)&nbsp;0px&nbsp;-4px&nbsp;no-repeat</span><span style="color: #000000;">;</span><span style="color: #ff0000;">width</span><span style="color: #000000;">:</span><span style="color: #0000ff;">350px</span><span style="color: #000000;">;</span><span style="color: #ff0000;">height</span><span style="color: #000000;">:</span><span style="color: #0000ff;">4px</span><span style="color: #000000;">;</span><span style="color: #ff0000;">&nbsp;overflow</span><span style="color: #000000;">:</span><span style="color: #0000ff;">hidden</span><span style="color: #000000;">;</span><span style="color: #000000;">}</span><span style="color: #800000;"><br>&lt;/style&gt;<br></span></div>
<br>第二步：js代码编写<br>首先引入js框架prototype.js<br>&lt;script type="text/javascript" src="script/prototype.js"&gt;&lt;/script&gt;<br>实质函数代码：<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">&lt;</span><span style="color: #000000;">script&nbsp;type</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">text/javascript</span><span style="color: #000000;">"</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;tabs</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Array;<br></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;previewdiv</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Array;<br></span><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;display_tabs(I,J,tabsbg){<br>tabs[I].className</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">tabsbg</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">tabsbg;<br>tabs[J].className</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">tabsbg</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>previewdiv[I].className</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">previewblock</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>previewdiv[J].className</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">previewnone</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>}<br></span><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;init_tabs(tabsid,tabsbg){<br>tabs[</span><span style="color: #000000;">0</span><span style="color: #000000;">]</span><span style="color: #000000;">=</span><span style="color: #000000;">$(</span><span style="color: #000000;">"</span><span style="color: #000000;">tabs1</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>previewdiv[</span><span style="color: #000000;">0</span><span style="color: #000000;">]</span><span style="color: #000000;">=</span><span style="color: #000000;">$(</span><span style="color: #000000;">"</span><span style="color: #000000;">tabs1previewdiv</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>tabs[</span><span style="color: #000000;">1</span><span style="color: #000000;">]</span><span style="color: #000000;">=</span><span style="color: #000000;">$(</span><span style="color: #000000;">"</span><span style="color: #000000;">tabs2</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>previewdiv[</span><span style="color: #000000;">1</span><span style="color: #000000;">]</span><span style="color: #000000;">=</span><span style="color: #000000;">$(</span><span style="color: #000000;">"</span><span style="color: #000000;">tabs2previewdiv</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #0000ff;">if</span><span style="color: #000000;">(tabsid</span><span style="color: #000000;">==</span><span style="color: #000000;">"</span><span style="color: #000000;">tabs1</span><span style="color: #000000;">"</span><span style="color: #000000;">){display_tabs(</span><span style="color: #000000;">0</span><span style="color: #000000;">,</span><span style="color: #000000;">1</span><span style="color: #000000;">,tabsbg);}<br></span><span style="color: #0000ff;">else</span><span style="color: #000000;">{display_tabs(</span><span style="color: #000000;">1</span><span style="color: #000000;">,</span><span style="color: #000000;">0</span><span style="color: #000000;">,tabsbg);}<br>Event.observe(tabs[</span><span style="color: #000000;">0</span><span style="color: #000000;">].getElementsByTagName('li')[</span><span style="color: #000000;">0</span><span style="color: #000000;">],'mouseover',</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(){display_tabs(</span><span style="color: #000000;">0</span><span style="color: #000000;">,</span><span style="color: #000000;">1</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">a</span><span style="color: #000000;">"</span><span style="color: #000000;">);});<br>Event.observe(tabs[</span><span style="color: #000000;">0</span><span style="color: #000000;">].getElementsByTagName('li')[</span><span style="color: #000000;">1</span><span style="color: #000000;">],'mouseover',</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(){display_tabs(</span><span style="color: #000000;">0</span><span style="color: #000000;">,</span><span style="color: #000000;">1</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">b</span><span style="color: #000000;">"</span><span style="color: #000000;">);});<br>Event.observe(tabs[</span><span style="color: #000000;">0</span><span style="color: #000000;">].getElementsByTagName('li')[</span><span style="color: #000000;">2</span><span style="color: #000000;">],'mouseover',</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(){display_tabs(</span><span style="color: #000000;">0</span><span style="color: #000000;">,</span><span style="color: #000000;">1</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">c</span><span style="color: #000000;">"</span><span style="color: #000000;">);});<br>Event.observe(tabs[</span><span style="color: #000000;">1</span><span style="color: #000000;">].getElementsByTagName('li')[</span><span style="color: #000000;">0</span><span style="color: #000000;">],'mouseover',</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(){display_tabs(</span><span style="color: #000000;">1</span><span style="color: #000000;">,</span><span style="color: #000000;">0</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">a</span><span style="color: #000000;">"</span><span style="color: #000000;">);});<br>Event.observe(tabs[</span><span style="color: #000000;">1</span><span style="color: #000000;">].getElementsByTagName('li')[</span><span style="color: #000000;">1</span><span style="color: #000000;">],'mouseover',</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(){display_tabs(</span><span style="color: #000000;">1</span><span style="color: #000000;">,</span><span style="color: #000000;">0</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">b</span><span style="color: #000000;">"</span><span style="color: #000000;">);});<br>Event.observe(tabs[</span><span style="color: #000000;">1</span><span style="color: #000000;">].getElementsByTagName('li')[</span><span style="color: #000000;">2</span><span style="color: #000000;">],'mouseover',</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(){display_tabs(</span><span style="color: #000000;">1</span><span style="color: #000000;">,</span><span style="color: #000000;">0</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">c</span><span style="color: #000000;">"</span><span style="color: #000000;">);});<br><br>}<br></span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">script</span><span style="color: #000000;">&gt;</span></div>
<br>函数的调用：<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">&lt;</span><span style="color: #000000;">script</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">init_tabs('tabs2','a');</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">script</span><span style="color: #000000;">&gt;</span></div>
<br>想要使用哪个就定义那个为默认的显示状态<br>效果：三栏导航 <a href="http://www.xqbar.com/demo/yahoo.html" target="_blank">yahoo.html</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;两栏导航 <a href="http://www.xqbar.com/demo/yahoo_3.html" target="_blank">yahoo_3.html<br></a><br>代
码就写到这里，我们可以在此基础上做出我们要其他功能的扩展，甚至可以使用ajax来扩展&lt;div
id="tabs1/2previewdiv"
class="previewnone"&gt;&lt;/div&gt;动态要显示的内容，具体大家扩展吧，有什么不明白的地方可以留言或者qq</div>
<br><img src ="http://www.phpweblog.net/fuyongjie/aggbug/6013.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2008-11-04 17:47 <a href="http://www.phpweblog.net/fuyongjie/archive/2008/11/04/6013.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jquery 实现“除去某一个以外的所有”的功能（带有实现tab的实例）</title><link>http://www.phpweblog.net/fuyongjie/archive/2008/10/29/5998.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Wed, 29 Oct 2008 09:29:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2008/10/29/5998.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/5998.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2008/10/29/5998.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/5998.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/5998.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&lt;script&gt;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>$(function(){<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;$("div[@class$=curr]").each(function(i){<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(this).click(function(){<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(i);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="COLOR: red">$("&nbsp;table:nth-child("+(i+1)+")").css('display','block').siblings().each(function(){$(this).css("display","none")});&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;})<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>})<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&lt;/script&gt;</div>
讲解：红色部分首先是取得多个table里的某一个table，然后给这个table加了显示样式，接着对所有的兄弟节点添加隐藏样式 <br>应用：如图<br><img height=101 alt="" src="http://www.phpweblog.net/images/phpweblog_net/fuyongjie/tabs.gif" width=539 border=0><br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">css如下：<br><img id=Codehighlighter1_12_240_Open_Image onclick="this.style.display='none'; Codehighlighter1_12_240_Open_Text.style.display='none'; Codehighlighter1_12_240_Closed_Image.style.display='inline'; Codehighlighter1_12_240_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_12_240_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_12_240_Closed_Text.style.display='none'; Codehighlighter1_12_240_Open_Image.style.display='inline'; Codehighlighter1_12_240_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedBlock.gif" align=top>.curr</span><span id=Codehighlighter1_12_240_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_12_240_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_94_121_Open_Image onclick="this.style.display='none'; Codehighlighter1_94_121_Open_Text.style.display='none'; Codehighlighter1_94_121_Closed_Image.style.display='inline'; Codehighlighter1_94_121_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_94_121_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_94_121_Closed_Text.style.display='none'; Codehighlighter1_94_121_Open_Image.style.display='inline'; Codehighlighter1_94_121_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">float</span><span style="COLOR: #000000">:left;&nbsp;width:17px;&nbsp;height:42px;&nbsp;background:url(images</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">fw_swith_curr.gif);&nbsp;</span><span id=Codehighlighter1_94_121_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_94_121_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">&nbsp;width:30px&nbsp;height:50px&nbsp;</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;layout</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">flow:&nbsp;vertical</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">ideographic;letter</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">spacing:5px;&nbsp;color:#4a6d84;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;font:&nbsp;bold&nbsp;14px&nbsp;simsun;&nbsp;padding:8px&nbsp;13px&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img id=Codehighlighter1_251_474_Open_Image onclick="this.style.display='none'; Codehighlighter1_251_474_Open_Text.style.display='none'; Codehighlighter1_251_474_Closed_Image.style.display='inline'; Codehighlighter1_251_474_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_251_474_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_251_474_Closed_Text.style.display='none'; Codehighlighter1_251_474_Open_Image.style.display='inline'; Codehighlighter1_251_474_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedBlock.gif" align=top>.no_curr</span><span id=Codehighlighter1_251_474_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_251_474_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_328_355_Open_Image onclick="this.style.display='none'; Codehighlighter1_328_355_Open_Text.style.display='none'; Codehighlighter1_328_355_Closed_Image.style.display='inline'; Codehighlighter1_328_355_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_328_355_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_328_355_Closed_Text.style.display='none'; Codehighlighter1_328_355_Open_Image.style.display='inline'; Codehighlighter1_328_355_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">float</span><span style="COLOR: #000000">:left;&nbsp;width:17px;&nbsp;height:42px;&nbsp;background:url(images</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">fw_swith.gif);&nbsp;</span><span id=Codehighlighter1_328_355_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_328_355_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">&nbsp;width:30px&nbsp;height:50px&nbsp;</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;layout</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">flow:&nbsp;vertical</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">ideographic;letter</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">spacing:5px;&nbsp;color:#4a6d84;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;font:&nbsp;bold&nbsp;14px&nbsp;simsun;&nbsp;padding:8px&nbsp;13px&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div>
html如下：（就是有两个table）<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="fw_header_switch"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div&nbsp;</span><span style="COLOR: #ff0000">class</span><span style="COLOR: #0000ff">="curr"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">技术</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div&nbsp;</span><span style="COLOR: #ff0000">class</span><span style="COLOR: #0000ff">="no_curr"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">产品</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="fw_header_menu"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">table&nbsp;</span><span style="COLOR: #ff0000">cellspacing</span><span style="COLOR: #0000ff">="0"</span><span style="COLOR: #ff0000">&nbsp;cellpadding</span><span style="COLOR: #0000ff">="0"</span><span style="COLOR: #ff0000">&nbsp;border</span><span style="COLOR: #0000ff">="0"</span><span style="COLOR: #ff0000">&nbsp;align</span><span style="COLOR: #0000ff">="center"</span><span style="COLOR: #ff0000">&nbsp;width</span><span style="COLOR: #0000ff">="99%"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">tr</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{section&nbsp;name=i&nbsp;loop=$lica[3].link}}<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">td</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">img&nbsp;</span><span style="COLOR: #ff0000">src</span><span style="COLOR: #0000ff">="/_framework/front/images/fw_header_arr.gif"</span><span style="COLOR: #ff0000">&nbsp;align</span><span style="COLOR: #0000ff">="absmiddle"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">a&nbsp;</span><span style="COLOR: #ff0000">href</span><span style="COLOR: #0000ff">="{{$lica[3].link[i].link_url}}"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">{{$lica[3].link[i].link_txt}}</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">a</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">td</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{if&nbsp;($smarty.section.i.index+1)%7&nbsp;==&nbsp;0&nbsp;&amp;&amp;&nbsp;!($smarty.section.i.last)}}<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">tr</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">tr</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{elseif&nbsp;$smarty.section.i.last}}<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">tr</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{/if}}<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{/section}}&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">table</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">table&nbsp;</span><span style="COLOR: #ff0000">cellspacing</span><span style="COLOR: #0000ff">="0"</span><span style="COLOR: #ff0000">&nbsp;cellpadding</span><span style="COLOR: #0000ff">="0"</span><span style="COLOR: #ff0000">&nbsp;border</span><span style="COLOR: #0000ff">="0"</span><span style="COLOR: #ff0000">&nbsp;align</span><span style="COLOR: #0000ff">="center"</span><span style="COLOR: #ff0000">&nbsp;width</span><span style="COLOR: #0000ff">="99%"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">tr</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{section&nbsp;name=i&nbsp;loop=$lica[4].link}}<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">td</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">img&nbsp;</span><span style="COLOR: #ff0000">src</span><span style="COLOR: #0000ff">="/_framework/front/images/fw_header_arr.gif"</span><span style="COLOR: #ff0000">&nbsp;align</span><span style="COLOR: #0000ff">="absmiddle"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">a&nbsp;</span><span style="COLOR: #ff0000">href</span><span style="COLOR: #0000ff">="{{$lica[4].link[i].link_url}}"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">{{$lica[4].link[i].link_txt}}</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">a</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">td</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{if&nbsp;($smarty.section.i.index+1)%7&nbsp;==&nbsp;0&nbsp;&amp;&amp;&nbsp;!($smarty.section.i.last)}}<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">tr</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">tr</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{elseif&nbsp;$smarty.section.i.last}}<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">tr</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{/if}}<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{/section}}&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">table</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span></div>
<br>js：如下<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">script</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img id=Codehighlighter1_22_380_Open_Image onclick="this.style.display='none'; Codehighlighter1_22_380_Open_Text.style.display='none'; Codehighlighter1_22_380_Closed_Image.style.display='inline'; Codehighlighter1_22_380_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_22_380_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_22_380_Closed_Text.style.display='none'; Codehighlighter1_22_380_Open_Image.style.display='inline'; Codehighlighter1_22_380_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedBlock.gif" align=top>$(</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">()</span><span id=Codehighlighter1_22_380_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_22_380_Open_Text><span style="COLOR: #000000">{</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">实现隐藏显示</span><span style="COLOR: #008000"><br><img id=Codehighlighter1_72_377_Open_Image onclick="this.style.display='none'; Codehighlighter1_72_377_Open_Text.style.display='none'; Codehighlighter1_72_377_Closed_Image.style.display='inline'; Codehighlighter1_72_377_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_72_377_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_72_377_Closed_Text.style.display='none'; Codehighlighter1_72_377_Open_Image.style.display='inline'; Codehighlighter1_72_377_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">div[@class$=curr]</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).each(</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">(i)</span><span id=Codehighlighter1_72_377_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_72_377_Open_Text><span style="COLOR: #000000">{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img id=Codehighlighter1_106_373_Open_Image onclick="this.style.display='none'; Codehighlighter1_106_373_Open_Text.style.display='none'; Codehighlighter1_106_373_Closed_Image.style.display='inline'; Codehighlighter1_106_373_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_106_373_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_106_373_Closed_Text.style.display='none'; Codehighlighter1_106_373_Open_Image.style.display='inline'; Codehighlighter1_106_373_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">).mouseover(</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">()</span><span id=Codehighlighter1_106_373_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_106_373_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">).removeClass().addClass(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">curr</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img id=Codehighlighter1_188_230_Open_Image onclick="this.style.display='none'; Codehighlighter1_188_230_Open_Text.style.display='none'; Codehighlighter1_188_230_Closed_Image.style.display='inline'; Codehighlighter1_188_230_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_188_230_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_188_230_Closed_Text.style.display='none'; Codehighlighter1_188_230_Open_Image.style.display='inline'; Codehighlighter1_188_230_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">).siblings().each(</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">()</span><span id=Codehighlighter1_188_230_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_188_230_Open_Text><span style="COLOR: #000000">{$(</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">).removeClass().addClass(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">no_curr</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)}</span></span><span style="COLOR: #000000">);<br><img id=Codehighlighter1_334_364_Open_Image onclick="this.style.display='none'; Codehighlighter1_334_364_Open_Text.style.display='none'; Codehighlighter1_334_364_Closed_Image.style.display='inline'; Codehighlighter1_334_364_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_334_364_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_334_364_Closed_Text.style.display='none'; Codehighlighter1_334_364_Open_Image.style.display='inline'; Codehighlighter1_334_364_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">#fw_header_menu&nbsp;table:nth-child(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).show().siblings().each(</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">()</span><span id=Codehighlighter1_334_364_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_334_364_Open_Text><span style="COLOR: #000000">{$(</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">).hide(</span><span style="COLOR: #000000">)}</span></span><span style="COLOR: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">)<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">)<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">)<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">script</span><span style="COLOR: #000000">&gt;</span></div>
<br><img src ="http://www.phpweblog.net/fuyongjie/aggbug/5998.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2008-10-29 17:29 <a href="http://www.phpweblog.net/fuyongjie/archive/2008/10/29/5998.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>利用jquery操作select下拉列表框 </title><link>http://www.phpweblog.net/fuyongjie/archive/2008/10/28/5994.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Tue, 28 Oct 2008 01:26:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2008/10/28/5994.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/5994.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2008/10/28/5994.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/5994.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/5994.html</trackback:ping><description><![CDATA[<span style="FONT-SIZE: 10pt"><span style="FONT-SIZE: 10pt">近日在使用jquery操作select下拉列表框时遇到了一些需要注意的地方，我想实现的功能是通过点击事件动态复制一个select到table的td中，并利用td包含的文本内容找到对应的select选中项，代码如下：<br><br>HTML:<br><span style="FONT-SIZE: 14px; COLOR: #333333; FONT-FAMILY: Arial">&lt;<span style="FONT-SIZE: 10pt">!--下拉框--&gt;<br style="LINE-HEIGHT: normal">&lt;select id="stsoft" name="stsoft"&gt;<br style="LINE-HEIGHT: normal">&lt;option value="1"&gt;11&lt;/option&gt;<br style="LINE-HEIGHT: normal">&lt;option value="2"&gt;22&lt;/option&gt;<br style="LINE-HEIGHT: normal">&lt;option value="3"&gt;33&lt;/option&gt;<br style="LINE-HEIGHT: normal">&lt;option value="4"&gt;44&lt;/option&gt;<br style="LINE-HEIGHT: normal">&lt;option value="5"&gt;55&lt;/option&gt;<br style="LINE-HEIGHT: normal">&lt;option value="6"&gt;66&lt;/option&gt;<br style="LINE-HEIGHT: normal">&lt;/select&gt;<br><br>
<div>&lt;table id="datatable" border="0" cellpadding="0" cellspacing="0"&gt;</div>
<div>&nbsp;&nbsp; &nbsp;&nbsp;<span class=Apple-tab-span style="WHITE-SPACE: pre"> </span>&lt;thead&gt;</div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>&lt;tr align="left"&gt;</div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>&nbsp;&nbsp; &nbsp;&nbsp;<span class=Apple-tab-span style="WHITE-SPACE: pre"> </span>&lt;th&gt;</div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>行号&lt;/th&gt;</div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>&lt;th&gt;</div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>软件类型&lt;/th&gt;<span class=Apple-tab-span style="WHITE-SPACE: pre"> </span></div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>&lt;th&gt;</div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>操作&lt;/th&gt;</div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>&lt;/tr&gt;</div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>&lt;/thead&gt;</div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>&lt;tr id="template"&gt;</div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>&lt;td class="RowId"&gt;</div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>&lt;/td&gt;<span class=Apple-tab-span style="WHITE-SPACE: pre"> </span></div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>&lt;td class="SoftType"&gt;</div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>&lt;/td&gt;<span class=Apple-tab-span style="WHITE-SPACE: pre"> </span></div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>&lt;td class="update"&gt;</div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>&lt;/td&gt;</div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>&lt;/tr&gt;</div>
<div>&lt;/table&gt;<br><br>js：<br>
<div>$(".update").click(function(){</div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>var soft =&nbsp;$(".SoftType").text();<span class=Apple-tab-span style="WHITE-SPACE: pre"> </span></div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>$(".SoftType").html($("#stsoft").clone());<span class=Apple-tab-span style="WHITE-SPACE: pre"> </span></div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span></div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span></div>
<span style="COLOR: red">
<div>&nbsp;&nbsp; &nbsp;&nbsp;<span class=Apple-tab-span style="WHITE-SPACE: pre"> </span>for(var i=0; i&lt;$(".SoftType select option").length; i++){<span class=Apple-tab-span style="WHITE-SPACE: pre"> </span></div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>&nbsp;&nbsp; &nbsp;&nbsp;<span class=Apple-tab-span style="WHITE-SPACE: pre"> </span>if($(".SoftType select")[0].options(i).text== soft){</div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>$(".SoftType select")[0].selectedIndex = i;</div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>}<br><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>}<span class=Apple-tab-span style="WHITE-SPACE: pre"> </span></div>
</span>
<div></div>
<p><br>&nbsp;&nbsp; &nbsp;&nbsp;<span class=Apple-tab-span style="WHITE-SPACE: pre"> </span>var&nbsp;<span class=Apple-tab-span style="WHITE-SPACE: pre"> </span>rowId = $(".RowId").text();</p>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>var content='\</div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>&lt;a href="javascript:void(0);" onclick="Update('+ rowId +');"&gt;更新&lt;/a&gt;&amp;nbsp;&amp;nbsp;\</div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>&lt;a href="javascript:void(0);" onclick="Cencel('+ rowId +');"&gt;取消&lt;/a&gt;\</div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>';</div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span>$(".update").html(content);</div>
<div><span class=Apple-tab-span style="WHITE-SPACE: pre"></span></div>
<div>});</div>
</div>
</span>
<div>
<div><br><br>
<p><span style="FONT-SIZE: 10pt">其他有关select的取值或赋值方式：</span><br><span style="FONT-SIZE: 12pt"><span style="FONT-SIZE: 10pt">获取select被选中项的文本</span></span><br style="LINE-HEIGHT: normal"><span style="COLOR: red"><span style="FONT-SIZE: 10pt">var item = $("select[@name=&nbsp;stsoft] option[@selected]").text();</span></span><br style="LINE-HEIGHT: normal"><span style="FONT-SIZE: 10pt">select下拉框的第二个元素为当前选中值</span><br style="LINE-HEIGHT: normal"><span style="COLOR: red">$('#stsoft')[0].selectedIndex = 1;</span><br><span style="FONT-SIZE: 10pt">获取value值</span><br><span style="COLOR: red">$('#stsoft').val();</span><br><span style="FONT-SIZE: 10pt">设置value=1的项目为当前选中项</span><br><span style="COLOR: red">$("#stsoft").attr("value",&#8220;1&#8221;);<br>$('#stsoft').val(&#8220;1&#8221;);</span></p>
</div>
</div>
</span></span><span style="FONT-SIZE: 14px; COLOR: #333333; FONT-FAMILY: Arial">
<div>
<div>
<p>&#160;</p>
</div>
</div>
</span></span><img src ="http://www.phpweblog.net/fuyongjie/aggbug/5994.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2008-10-28 09:26 <a href="http://www.phpweblog.net/fuyongjie/archive/2008/10/28/5994.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> Cookie和会话状态的工作原理及Cookie欺骗</title><link>http://www.phpweblog.net/fuyongjie/archive/2008/09/18/5807.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Thu, 18 Sep 2008 10:48:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2008/09/18/5807.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/5807.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2008/09/18/5807.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/5807.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/5807.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;"><span style="color: red;">存在两种类型的cookie：</span><br><br><span style="color: red;">Session&nbsp;cookies</span>&nbsp;-&nbsp;these&nbsp;are&nbsp;temporary&nbsp;and&nbsp;are&nbsp;erased&nbsp;when&nbsp;you&nbsp;close&nbsp;your&nbsp;browser&nbsp;at&nbsp;the&nbsp;end&nbsp;of&nbsp;your&nbsp;surfing&nbsp;session.&nbsp;The&nbsp;next&nbsp;time&nbsp;you&nbsp;visit&nbsp;that&nbsp;particular&nbsp;site&nbsp;it&nbsp;will&nbsp;not&nbsp;recognise&nbsp;you&nbsp;and&nbsp;will&nbsp;treat&nbsp;you&nbsp;as&nbsp;a&nbsp;completely&nbsp;new&nbsp;visitor&nbsp;as&nbsp;there&nbsp;is&nbsp;nothing&nbsp;in&nbsp;your&nbsp;browser&nbsp;to&nbsp;let&nbsp;the&nbsp;site&nbsp;know&nbsp;that&nbsp;you&nbsp;have&nbsp;visited&nbsp;before<br><br>不设置过期时间，则表示这个cookie生命周期为浏览器会话期间，只要关闭浏览器窗口，cookie就消失了。这种生命期为浏览会话期的cookie被称为会话cookie。会话cookie一般<span style="color: red;">不保存在硬盘上而是保存在内存里。</span><br><br>&nbsp;<br><br><span style="color: red;">Persistent&nbsp;cookies</span>&nbsp;-&nbsp;these&nbsp;remain&nbsp;on&nbsp;your&nbsp;hard&nbsp;drive&nbsp;until&nbsp;you&nbsp;erase&nbsp;them&nbsp;or&nbsp;they&nbsp;expire.&nbsp;How&nbsp;long&nbsp;a&nbsp;cookie&nbsp;remains&nbsp;on&nbsp;your&nbsp;browser&nbsp;depends&nbsp;on&nbsp;how&nbsp;long&nbsp;the&nbsp;visited&nbsp;website&nbsp;has&nbsp;programmed&nbsp;the&nbsp;cookie&nbsp;to&nbsp;last<br><br>设置了过期时间，浏览器就会把cookie保存到硬盘上，关闭后再次打开浏览器，这些cookie依然有效直到超过设定的过期时间。<br><br><span style="color: red;">存储在硬盘上的cookie</span>可以在不同的浏览器进程间共享，比如两个IE窗口。而对于<span style="color: red;">保存在内存的cookie</span>，不同的浏览器有不同的处理方式。</span></div>
<br style="color: red;">
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;"><span style="color: red;">Cookie和会话状态的工作原理及Cookie欺骗&nbsp;</span>&nbsp;&nbsp;<br><br>session是一种保存上下文信息的机制，它是针对每一个用户的，变量的值保存在服务器端，通过SessionID来区分不同的客户，session是以Cookie或URL重写为基础。默认使用Cookie来实现，系统会创造一个名为JSESSIONID的输出Cookie，或称为</span><span style="color: #000000;">"</span><span style="color: #000000;">Session&nbsp;Cookie</span><span style="color: #000000;">"</span><span style="color: #000000;">，以区别Persistent&nbsp;Cookies(通常所说的Cookie)</span><span style="color: #000000;">.</span><span style="color: #000000;">Session&nbsp;Cookie是存储在浏览器中，并不是写在硬盘上的，但是把浏览器的Cookie禁止后，使用response对象的encodeURL或&nbsp;encodeRedirectURL方法编码URL，WEB服务器会采URL重写的方式传递Sessionid，用户就可以在地址栏看到&nbsp;jsessionid</span><span style="color: #000000;">=</span><span style="color: #000000;">A09JHGHKHU68624309UTY84932之类的字符串。<br>&nbsp;<br>通常<span style="color: red;">Session&nbsp;Cookie是不能跨窗口使用</span>，当用户新开了一个浏览器进入相同的页面时，系统会赋予用户一个新的SessionID，这样信息共享的目的就达不到，此时可以把SessionID保存在Persistent&nbsp;Cookie中，然后再新的窗口中读出来，就可以得到上一个窗口的SessionID了，这样通过Session&nbsp;Cookie和Persistent&nbsp;Cookie的结合，实现了跨窗口的会话跟踪。<br><br><span style="color: red;">session的工作原理</span><br>就session的实现而言，好像是这样的：<br>(</span><span style="color: #000000;">1</span><span style="color: #000000;">)当有Session启动时，服务器生成一个唯一值，称为SessionID（好像是通过取进程ID的方式取得的）。<br>(</span><span style="color: #000000;">2</span><span style="color: #000000;">)然后，服务器开辟一块内存，对应于该SessionID。<br>(</span><span style="color: #000000;">3</span><span style="color: #000000;">)服务器再将该SessionID写入浏览器的cookie(一些在网页的源代码中有所体现)。<br>(</span><span style="color: #000000;">4</span><span style="color: #000000;">)服务器内有一进程，监视所有Session的活动状况，如果有Session超时或是主动关闭，服务器就释放该内存块。<br>(</span><span style="color: #000000;">5</span><span style="color: #000000;">)当浏览器连入IIS(服务器)时并请求的ASP(脚本语言)内用到Session时，IIS(服务器)就读浏览器Cookie中的SessionID。<br>(</span><span style="color: #000000;">6</span><span style="color: #000000;">)然后，服务检查该SessionID所对应的内存是否有效。<br>(</span><span style="color: #000000;">7</span><span style="color: #000000;">)如果有效，就读出内存中的值。<br>(</span><span style="color: #000000;">8</span><span style="color: #000000;">)如果无效，就建立新的Session。<br><br>注意：<br>(</span><span style="color: #000000;">1</span><span style="color: #000000;">)在大浏览量的网站，Session并不保险，我们过去的网站就经常碰到存在Session中得值不正确(可能出现重复的Session&nbsp;ID)。<br>(</span><span style="color: #000000;">2</span><span style="color: #000000;">)<span style="color: red;">Session&nbsp;ID不能从硬盘上的Cookie文件获得，如果想在客户端获知自己的Session&nbsp;ID，只能通过Javascrīpt来读取。</span><br><br>&nbsp;<br><br><span style="color: red;">Cookie和会话状态</span><br>做BS开发，这两个概念必不可少，先来个大概了解，没有实际应用很难深入，深入看参考地址！<br><br>什么是&nbsp;Cookie？<br>Cookie&nbsp;是<span style="color: red;">一小段文本信息</span>，伴随着用户请求和页面在&nbsp;Web&nbsp;服务器和浏览器之间传递。用户每次访问站点时，Web&nbsp;应用程序都可以读取&nbsp;Cookie&nbsp;包含的信息。&nbsp;Cookie&nbsp;的基本工作原理如果用户再次访问站点上的页面，<span style="color: red;">当该用户输入&nbsp;URLwww</span></span><span style="color: red;">.*****.</span><span style="color: #000000;"><span style="color: red;">com时，浏览器就会在本地硬盘上查找与该&nbsp;URL&nbsp;相关联的&nbsp;Cookie</span>。如果该&nbsp;Cookie&nbsp;存在，浏览器就将它与页面请求一起发送到您的站点。<br><br>Cookie&nbsp;有哪些用途</span><span style="color: #000000;">?</span><span style="color: #000000;"><br>最根本的用途是</span><span style="color: #000000;">:</span><span style="color: #000000;">Cookie&nbsp;能够帮助&nbsp;Web&nbsp;站点保存有关访问者的信息。更概括地说，Cookie&nbsp;是一种保持Web&nbsp;应用程序连续性（即执行&#8220;状态管理&#8221;）的方法</span><span style="color: #000000;">.</span><span style="color: #000000;">使&nbsp;Web&nbsp;站点记住您</span><span style="color: #000000;">.</span><span style="color: #000000;"><br><br>什么是会话Session？<br>当用户访问您的站点时，服务器会为该用户创建唯一的会话，会话将一直延续到用户访问结束。<br><br>&nbsp;<br><br>参考地址<br>http</span><span style="color: #000000;">:</span><span style="color: #008000;">//</span><span style="color: #008000;">www.microsoft.com/china/MSDN/library/archives/library/dv_vstechart/html/vbtchaspnetcookies101.asp</span><span style="color: #008000;"><br></span><span style="color: #000000;">http</span><span style="color: #000000;">:</span><span style="color: #008000;">//</span><span style="color: #008000;">support.microsoft.com/default.aspx?scid=kb;en-us;307598</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>&nbsp;<br><br>cookie欺骗原理<br><br>正如我们所知道的，在网络词汇中，cookie是一个特殊的信息，虽然只是服务器存于用户计算机上的一个文本文件，但由于其内容的不寻常性(与服务器有一定的互交性，且常会存储用户名，甚至口令，或是其它一些敏感信息，例如在江湖或是一些社区中，常会用cookie来保存用户集分，等级等等)。因而成为一些高手关注的对象，借此来取得特殊权限，甚至攻克整个网站。以下是自己在xp</span><span style="color: #000000;">,</span><span style="color: #000000;">2003上做过的测试关于javascrīpt中对cookie的应用。<br><br>一、cookie的建立<br><br>在讲如何建立cookie之前，我们先来了解一下cookie的基本格式：<br>cookiename</span><span style="color: #000000;">+</span><span style="color: #000000;">cookievalue;expire</span><span style="color: #000000;">=</span><span style="color: #000000;">expirationdategmt;path</span><span style="color: #000000;">=</span><span style="color: #000000;">urlpath;domain</span><span style="color: #000000;">=</span><span style="color: #000000;">sitedomain<br>其中各项以;分开，首先是指定cookie的名称，并为其赋值。接下来分别是cookie的有效期，url路径以及域名，在这几项中，除了第一项以外，其它部分均为可先项。<br><br>我们来看一段代码，了解一下cookie究竟是怎样建立的：<br></span><span style="color: #000000;">&lt;</span><span style="color: #000000;">HTML</span><span style="color: #000000;">&gt;&lt;</span><span style="color: #000000;">HEAD</span><span style="color: #000000;">&gt;&lt;</span><span style="color: #000000;">TITLE</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">Set&nbsp;a&nbsp;cookie&nbsp;based&nbsp;on&nbsp;a&nbsp;form</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">TITLE</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">　<br></span><span style="color: #000000;">&lt;</span><span style="color: #000000;">scrīpt&nbsp;LANGUAGE</span><span style="color: #000000;">=</span><span style="color: #000000;">javascrīpt</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #000000;">&lt;!--</span><span style="color: #000000;"><br>expireDate&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">Date</span><span style="color: #000000;">;<br>expireDate</span><span style="color: #000000;">.</span><span style="color: #000000;">setMonth(expireDate</span><span style="color: #000000;">.</span><span style="color: #000000;">getMonth()</span><span style="color: #000000;">+</span><span style="color: #000000;">6</span><span style="color: #000000;">);<br>userName&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">""</span><span style="color: #000000;">&nbsp;;<br></span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(document</span><span style="color: #000000;">.</span><span style="color: #000000;">cookie</span><span style="color: #000000;">!=</span><span style="color: #000000;">""</span><span style="color: #000000;">)&nbsp;{<br>userName&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">document</span><span style="color: #000000;">.</span><span style="color: #000000;">cookie</span><span style="color: #000000;">.</span><span style="color: #008080;">split</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">)[</span><span style="color: #000000;">1</span><span style="color: #000000;">];<br>}<br></span><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;nameField_onblur()&nbsp;{<br></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;userName;<br>userName</span><span style="color: #000000;">=</span><span style="color: #000000;">document</span><span style="color: #000000;">.</span><span style="color: #000000;">myform</span><span style="color: #000000;">.</span><span style="color: #000000;">nameField</span><span style="color: #000000;">.</span><span style="color: #000000;">value;<br>document</span><span style="color: #000000;">.</span><span style="color: #000000;">cookie</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">userName=</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">userName</span><span style="color: #000000;">+</span><span style="color: #000000;">"</span><span style="color: #000000;">;expires=</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">expireDate</span><span style="color: #000000;">.</span><span style="color: #000000;">toGMTString();<br>alert(document</span><span style="color: #000000;">.</span><span style="color: #000000;">cookie);<br>}<br></span><span style="color: #008000;">//</span><span style="color: #008000;">--&gt;</span><span style="color: #008000;"><br></span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">scrīpt</span><span style="color: #000000;">&gt;&lt;/</span><span style="color: #000000;">HEAD</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #000000;">&lt;</span><span style="color: #000000;">BODY&nbsp;BGCOLOR</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">WHITE</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;ōnLoad</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">document.myform.nameField.value&nbsp;=&nbsp;userName</span><span style="color: #000000;">"</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #000000;">&lt;</span><span style="color: #000000;">form&nbsp;NAME</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">myform</span><span style="color: #000000;">"</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #000000;">&lt;</span><span style="color: #000000;">H1</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">Enter&nbsp;your&nbsp;name</span><span style="color: #000000;">:</span><span style="color: #000000;"><br></span><span style="color: #000000;">&lt;</span><span style="color: #000000;">INPUT&nbsp;TYPE</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">TEXT</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;NAME</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">nameField</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;ōnBlur</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">return&nbsp;nameField_onblur()</span><span style="color: #000000;">"</span><span style="color: #000000;">&gt;&lt;/</span><span style="color: #000000;">H1</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">form</span><span style="color: #000000;">&gt;&lt;/</span><span style="color: #000000;">BODY</span><span style="color: #000000;">&gt;&lt;/</span><span style="color: #000000;">HTML</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br><br></span><span style="color: #000000;">1</span><span style="color: #000000;">,&lt;</span><span style="color: #000000;">scrīpt&nbsp;LANGUAGE</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">java&nbsp;scrīpt</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;TYPE</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">TEXT/javascrīpt</span><span style="color: #000000;">"</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br>脚本开始的标记，由此一句告诉浏览器以下将是javascrīpt</span><span style="color: #000000;">.</span><span style="color: #000000;"><br></span><span style="color: #000000;">2</span><span style="color: #000000;">,&lt;!--</span><span style="color: #000000;">&nbsp;Hide&nbsp;scrīpt&nbsp;from&nbsp;older&nbsp;browsers<br>为了防止浏览器不能识别脚本，而让浏览器误以为是HTML注释而忽略它。<br></span><span style="color: #000000;">3</span><span style="color: #000000;">，expireDate&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">Date</span><span style="color: #000000;"><br>获取当前日期，并存入变量expireDate中。<br></span><span style="color: #000000;">4</span><span style="color: #000000;">，expireDate</span><span style="color: #000000;">.</span><span style="color: #000000;">setMonth(expireDate</span><span style="color: #000000;">.</span><span style="color: #000000;">getMonth()</span><span style="color: #000000;">+</span><span style="color: #000000;">6</span><span style="color: #000000;">)<br>获取当前月份值，将其加6后设置为expireDate的月份总值部分。这意味着本cookie的有效期为6个月。<br></span><span style="color: #000000;">5</span><span style="color: #000000;">，</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(document</span><span style="color: #000000;">.</span><span style="color: #000000;">cookie&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">""</span><span style="color: #000000;">)<br>如果document的值不为空，相当于检查用户硬盘上是否已经有了cookie。<br></span><span style="color: #000000;">6</span><span style="color: #000000;">，userName&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;document</span><span style="color: #000000;">.</span><span style="color: #000000;">cookie</span><span style="color: #000000;">.</span><span style="color: #008080;">split</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">)[</span><span style="color: #000000;">1</span><span style="color: #000000;">]<br>此处用到了split(</span><span style="color: #000000;">"</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">)函数，它的功能是把cookie记录分割为数组，cookie的名为cookie[</span><span style="color: #000000;">0</span><span style="color: #000000;">]</span><span style="color: #000000;">,</span><span style="color: #000000;">值为cookie[</span><span style="color: #000000;">1</span><span style="color: #000000;">]</span><span style="color: #000000;">,</span><span style="color: #000000;">以此类推。所以此处document</span><span style="color: #000000;">.</span><span style="color: #000000;">cookie</span><span style="color: #000000;">.</span><span style="color: #008080;">split</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">)[</span><span style="color: #000000;">1</span><span style="color: #000000;">]返回的值是此cookie的值。在此句中将值赋给了变量userName。<br></span><span style="color: #000000;">7</span><span style="color: #000000;">，</span><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;nameField_onblur()()<br>设置名为nameField_onblur()的函数。<br></span><span style="color: #000000;">8</span><span style="color: #000000;">，document</span><span style="color: #000000;">.</span><span style="color: #000000;">cookie&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">userName=</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">userName</span><span style="color: #000000;">+</span><span style="color: #000000;">"</span><span style="color: #000000;">;expires=</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;expireDate</span><span style="color: #000000;">.</span><span style="color: #000000;">toGMTString()<br>此句是将设置好的cookie写入用户硬盘。expireDate</span><span style="color: #000000;">.</span><span style="color: #000000;">toGMTString()把expireDate中的值转换为文本字符串，这样才能写入cookie中。<br></span><span style="color: #000000;">9</span><span style="color: #000000;">，onLoad</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">document.myform.nameField.value&nbsp;=&nbsp;userName</span><span style="color: #000000;">"</span><span style="color: #000000;"><br>当页面载入时，把username的值写入文本框(如果有的话)。<br></span><span style="color: #000000;">10</span><span style="color: #000000;">，onBlur</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">nameField_onblur()</span><span style="color: #000000;">"</span><span style="color: #000000;"><br>当用户离开文本框时，onBlur调用函数nameField_onblur()。<br>既然我们可以建立cookie，那么读取也不是什么难事，请接着往下看</span><span style="color: #000000;">!</span><span style="color: #000000;"><br><br>二、读取和显示cookie<br><br>一般来说，cookie的作者并不希望cookie被显示出来，这是当然的</span><span style="color: #000000;">!</span><span style="color: #000000;">天知道里面写了些什么</span><span style="color: #000000;">!</span><span style="color: #000000;">？然而这也是我们想要读出它的原因</span><span style="color: #000000;">!~~~:</span><span style="color: #000000;">D<br></span><span style="color: #000000;">&lt;</span><span style="color: #000000;">HTML</span><span style="color: #000000;">&gt;&lt;</span><span style="color: #000000;">HEAD</span><span style="color: #000000;">&gt;&lt;</span><span style="color: #000000;">TITLE</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">Cookie&nbsp;Check</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">TITLE</span><span style="color: #000000;">&gt;&lt;/</span><span style="color: #000000;">HEAD</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #000000;">&lt;</span><span style="color: #000000;">BODY&nbsp;BGCOLOR</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">WHITE</span><span style="color: #000000;">"</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #000000;">&lt;</span><span style="color: #000000;">H2</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #000000;">&lt;</span><span style="color: #000000;">scrīpt&nbsp;LANGUAGE</span><span style="color: #000000;">=</span><span style="color: #000000;">javascrīpt</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">　<br></span><span style="color: #000000;">&lt;!--</span><span style="color: #000000;">&nbsp;Hide&nbsp;scrīpt&nbsp;from&nbsp;older&nbsp;browsers<br></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;thisCookie;<br></span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(document</span><span style="color: #000000;">.</span><span style="color: #000000;">cookie&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">""</span><span style="color: #000000;">)&nbsp;{<br>document</span><span style="color: #000000;">.</span><span style="color: #000000;">write(</span><span style="color: #000000;">"</span><span style="color: #000000;">There&nbsp;are&nbsp;no&nbsp;cookies&nbsp;here</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>}<br></span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;{<br>thisCookie&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;document</span><span style="color: #000000;">.</span><span style="color: #000000;">cookie</span><span style="color: #000000;">.</span><span style="color: #008080;">split</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">;</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(i</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;i</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">thisCookie</span><span style="color: #000000;">.</span><span style="color: #000000;">length;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;{<br>document</span><span style="color: #000000;">.</span><span style="color: #000000;">write(</span><span style="color: #000000;">"</span><span style="color: #000000;">Cookie'length&nbsp;is&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;thisCookie</span><span style="color: #000000;">.</span><span style="color: #000000;">length</span><span style="color: #000000;">+</span><span style="color: #000000;">"</span><span style="color: #000000;">&lt;br&gt;</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>document</span><span style="color: #000000;">.</span><span style="color: #000000;">write(</span><span style="color: #000000;">"</span><span style="color: #000000;">Cookie&nbsp;name&nbsp;is&nbsp;&#8217;</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;thisCookie[i]</span><span style="color: #000000;">.</span><span style="color: #008080;">split</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">)[</span><span style="color: #000000;">0</span><span style="color: #000000;">]);<br>document</span><span style="color: #000000;">.</span><span style="color: #000000;">write(</span><span style="color: #000000;">"</span><span style="color: #000000;">&#8217;,&nbsp;and&nbsp;the&nbsp;value&nbsp;is&nbsp;&#8217;</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">thisCookie[i]</span><span style="color: #000000;">.</span><span style="color: #008080;">split</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">)[</span><span style="color: #000000;">1</span><span style="color: #000000;">]</span><span style="color: #000000;">+</span><span style="color: #000000;">"</span><span style="color: #000000;">&#8217;&lt;BR&gt;</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>}<br>}<br></span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;End&nbsp;hiding&nbsp;scrīpt&nbsp;--&gt;</span><span style="color: #008000;"><br></span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">scrīpt</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">H2</span><span style="color: #000000;">&gt;&lt;/</span><span style="color: #000000;">BODY</span><span style="color: #000000;">&gt;&lt;/</span><span style="color: #000000;">HTML</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br><br>以上的便是一段读取cookie的名字和值的脚本。上文中解释过的语句在此不多赘述，且看有什么新的语法：<br></span><span style="color: #000000;">1</span><span style="color: #000000;">，thisCookie&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;document</span><span style="color: #000000;">.</span><span style="color: #000000;">cookie</span><span style="color: #000000;">.</span><span style="color: #008080;">split</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">;</span><span style="color: #000000;">"</span><span style="color: #000000;">)[注意：并非前文中出现过的split(</span><span style="color: #000000;">"</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">)。<br></span><span style="color: #008080;">split</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">;</span><span style="color: #000000;">"</span><span style="color: #000000;">)可以产生数组的结果，本句中，由document</span><span style="color: #000000;">.</span><span style="color: #000000;">cookie</span><span style="color: #000000;">.</span><span style="color: #008080;">split</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">;</span><span style="color: #000000;">"</span><span style="color: #000000;">)来获取cookie的值，并将这个数组赋值。<br></span><span style="color: #000000;">2</span><span style="color: #000000;">，</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(i</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;i</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">thisCookie</span><span style="color: #000000;">.</span><span style="color: #000000;">length;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)　<br>设置计算器变量i的值为0，如果其值小于thisCookie</span><span style="color: #000000;">.</span><span style="color: #000000;">length(thisCookie中值的个数)，将i的值加1。<br></span><span style="color: #000000;">3</span><span style="color: #000000;">，document</span><span style="color: #000000;">.</span><span style="color: #000000;">write(</span><span style="color: #000000;">"</span><span style="color: #000000;">Cookie&nbsp;name&nbsp;is&nbsp;&#8217;</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">thisCookie[i]</span><span style="color: #000000;">.</span><span style="color: #008080;">split</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">)[</span><span style="color: #000000;">0</span><span style="color: #000000;">])<br>此句中thisCookie[i]</span><span style="color: #000000;">.</span><span style="color: #008080;">split</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">)[</span><span style="color: #000000;">0</span><span style="color: #000000;">]较难理解，上面的脚本中，thiscookie已经被赋值为一个数组的值，那么&nbsp;thisCookie[i]是指数组中第i个值，也就是第i个cookie，而由上文可知split(</span><span style="color: #000000;">"</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">)[</span><span style="color: #000000;">0</span><span style="color: #000000;">]是指cookie的名字。<br>这样thisCookie[i]</span><span style="color: #000000;">.</span><span style="color: #008080;">split</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">)[</span><span style="color: #000000;">0</span><span style="color: #000000;">]便是第i的cookie中cookie的名字</span><span style="color: #000000;">!</span><span style="color: #000000;"><br></span><span style="color: #000000;">4</span><span style="color: #000000;">,</span><span style="color: #000000;">document</span><span style="color: #000000;">.</span><span style="color: #000000;">write(</span><span style="color: #000000;">"</span><span style="color: #000000;">&#8217;,&nbsp;and&nbsp;the&nbsp;value&nbsp;is&nbsp;&#8217;</span><span style="color: #000000;">"</span><span style="color: #000000;">+</span><span style="color: #000000;">thisCookie[i]</span><span style="color: #000000;">.</span><span style="color: #008080;">split</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">)[</span><span style="color: #000000;">1</span><span style="color: #000000;">]<br>跟3极为相似，即是第i个cookie中&nbsp;cookie的值。<br>到此，我们已经熟悉了如何建立cookie以及它的读取。这些也正是cookie欺骗也需要的主要技术</span><span style="color: #000000;">!</span><span style="color: #000000;"><br><br>三、cookie欺骗的实现<br><br>要做到cookie欺骗，最重要的是理解目标cookie中的储值情况，并设法改变它。由上面的学习我们知道，基于cookie的格式所限，一般来说，只有在Cookie</span><span style="color: #000000;">.</span><span style="color: #008080;">split</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">)[</span><span style="color: #000000;">0</span><span style="color: #000000;">]和Cookie</span><span style="color: #000000;">.</span><span style="color: #008080;">split</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">)[</span><span style="color: #000000;">1</span><span style="color: #000000;">]中的值对我们才是有用的。也就是说只需改变这两处或是处的值即可达到我们的目的。<br>而在实际操作中，还得先解决另一个问题。由于受浏览器的内部cookie机制所限，每个cookie只能被它的原服务器所访问</span><span style="color: #000000;">!</span><span style="color: #000000;">可我们总不能跑到人家服务器上操作吧</span><span style="color: #000000;">!</span><span style="color: #000000;">这里就需要一个小技巧了。<br>在上面我们提到过cookie的格式，最后两项中分别是它的url路径和域名。不难想到，服务器对cookie的识别靠的就是这个</span><span style="color: #000000;">!</span><span style="color: #000000;"><br>而在平时，我们要浏览一个网站时，输入的url便是它的域名，需要经过域名管理系统dns将其转化为IP地址后进行连接的。这其中就有一个空当。如果能在dns上做手脚，把目标域名的IP地址对应到其它站点上，我们便可以非法访问目标站点的cookie了</span><span style="color: #000000;">!</span><span style="color: #000000;"><br>做到这一点并不难，当然我不并不是要去操纵dns，而且那也是不可能的事情。在xp</span><span style="color: #000000;">,</span><span style="color: #000000;">2003下的C</span><span style="color: #000000;">:</span><span style="color: #000000;">\WINDOWS\system32\drivers\etc，有一名为hosts的文件，以文本方式打开后会看到这样的格式：<br></span><span style="color: #000000;">127.0</span><span style="color: #000000;">.</span><span style="color: #000000;">0.1</span><span style="color: #000000;">&nbsp;lockhost&nbsp;</span><span style="color: #008000;">#</span><span style="color: #008000;">注释</span><span style="color: #008000;"><br></span><span style="color: #000000;">利用它，我们便可以实现域名解析的本地化</span><span style="color: #000000;">!</span><span style="color: #000000;">而且其优先权高于网络中的dns</span><span style="color: #000000;">!</span><span style="color: #000000;"><br>具体使用时，只需将IP和域名依上面的格式添加，存为hosts即可</span><span style="color: #000000;">!</span><span style="color: #000000;">(注意：此文件无后缀名)<br>到此，cookie欺骗所需的所以知识已经齐备。下面以一个&#8220;假&#8221;的例子，演示一下如何进入实战</span><span style="color: #000000;">.</span><span style="color: #000000;">(不便给出真实地址，以免引起犯罪</span><span style="color: #000000;">!~~~:</span><span style="color: #000000;">P)<br>假设目标站点是www</span><span style="color: #000000;">.</span><span style="color: #000000;">xxx</span><span style="color: #000000;">.</span><span style="color: #000000;">com<br>www</span><span style="color: #000000;">.</span><span style="color: #000000;">self</span><span style="color: #000000;">.</span><span style="color: #000000;">com是自己的站点。(可以用来存放欺骗目标所需的文件，用来读取和修改对方的cookie</span><span style="color: #000000;">.</span><span style="color: #000000;">)<br>首先ping出www</span><span style="color: #000000;">.</span><span style="color: #000000;">self</span><span style="color: #000000;">.</span><span style="color: #000000;">com的IP地址：<br>ping&nbsp;www</span><span style="color: #000000;">.</span><span style="color: #000000;">self</span><span style="color: #000000;">.</span><span style="color: #000000;">com<br>Reply&nbsp;from&nbsp;</span><span style="color: #000000;">12.34</span><span style="color: #000000;">.</span><span style="color: #000000;">56.78</span><span style="color: #000000;">:</span><span style="color: #000000;">&nbsp;bytes</span><span style="color: #000000;">=</span><span style="color: #000000;">32</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">time</span><span style="color: #000000;">=</span><span style="color: #000000;">20ms&nbsp;TTL</span><span style="color: #000000;">=</span><span style="color: #000000;">244</span><span style="color: #000000;"><br>然后修改hosts文件如下：<br></span><span style="color: #000000;">12.34</span><span style="color: #000000;">.</span><span style="color: #000000;">56.78</span><span style="color: #000000;">&nbsp;www</span><span style="color: #000000;">.</span><span style="color: #000000;">xxx</span><span style="color: #000000;">.</span><span style="color: #000000;">com<br>并保存为hosts。<br>将用来读取cookie的页面传至www</span><span style="color: #000000;">.</span><span style="color: #000000;">self</span><span style="color: #000000;">.</span><span style="color: #000000;">com(脚本如二所示)。<br>此时连上www</span><span style="color: #000000;">.</span><span style="color: #000000;">xxx</span><span style="color: #000000;">.</span><span style="color: #000000;">com。由于我们已经对hosts动过手脚，这时来到的并不是www</span><span style="color: #000000;">.</span><span style="color: #000000;">xxx</span><span style="color: #000000;">.</span><span style="color: #000000;">com，而是www</span><span style="color: #000000;">.</span><span style="color: #000000;">self</span><span style="color: #000000;">.</span><span style="color: #000000;">com<br>www</span><span style="color: #000000;">.</span><span style="color: #000000;">xxx</span><span style="color: #000000;">.</span><span style="color: #000000;">com设在本地的cookie便可被读出</span><span style="color: #000000;">!~~:</span><span style="color: #000000;">D<br>然后根据具体情况修改一的脚本，用同样的方法，向此cookie中写入数据。修改完毕后，恢复hosts文件，再重新进入www</span><span style="color: #000000;">.</span><span style="color: #000000;">xxx</span><span style="color: #000000;">.</span><span style="color: #000000;">com，此时已经大功告成，可享受你的hack成果了</span><span style="color: #000000;">!~~~:</span><span style="color: #000000;">)<br><br>编后<br><br>cookie欺骗是一种发现较早，且较难使用的hack手法，除了javascrīpt&nbsp;可以控制以外，asp等也可以用来对其进行设置。所以在此声明，未必能对所有站点有效。但技术真实，无须置疑</span><span style="color: #000000;">!</span><span style="color: #000000;">&nbsp;</span></div>
<br><br><img src ="http://www.phpweblog.net/fuyongjie/aggbug/5807.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2008-09-18 18:48 <a href="http://www.phpweblog.net/fuyongjie/archive/2008/09/18/5807.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jquery 必填项判断表单是否为空的方法</title><link>http://www.phpweblog.net/fuyongjie/archive/2008/09/12/5755.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Fri, 12 Sep 2008 06:19:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2008/09/12/5755.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/5755.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2008/09/12/5755.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/5755.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/5755.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #0000ff;">&lt;form onsubmit="if(confirm('确定好你所填写的正确，不然会发错!')) {<span style="color: red;">return</span> checkForm();}else{return false;}"&nbsp;
&gt;<br>&lt;</span><span style="color: #800000;">table&nbsp;</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">tr</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">td</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">选择发送人</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">font&nbsp;</span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="red"</span><span style="color: #0000ff;">&gt;</span><span style="color: red;">*</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">font</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">td</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">td</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">input&nbsp;</span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text"</span><span style="color: #ff0000;">&nbsp;name</span><span style="color: #0000ff;">="sendto_type[]"</span><span style="color: #ff0000;">&nbsp;id</span><span style="color: #0000ff;">="sendto_type1"</span><span style="color: #ff0000;">&nbsp;&nbsp;value</span><span style="color: #0000ff;">="1"</span><span style="color: #ff0000;">&nbsp;&nbsp;</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">按城市发送<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">td</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">tr</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;选择发送人2&lt;font&nbsp;class="red"&gt;<span style="color: red;">*</span>&lt;/font&gt;&lt;/td&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type="text"&nbsp;name="sendto_type[]"&nbsp;id="sendto_type1"&nbsp;&nbsp;value="1"&nbsp;&nbsp;&gt;按城市发送<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/td&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">table</span><span style="color: #0000ff;">&gt;<br>&lt;/form&gt;<br></span></div>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">script</span><span style="color: #0000ff;">&gt;</span><span style="background-color: #f5f5f5; color: #000000;"><br><br><br></span><span style="background-color: #f5f5f5; color: #0000ff;">function</span><span style="background-color: #f5f5f5; color: #000000;">&nbsp;checkForm()&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;pass&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">=</span><span style="background-color: #f5f5f5; color: #000000;">&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff;">true</span><span style="background-color: #f5f5f5; color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">td:contains('<span style="color: red;">*</span>')</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">).next().find(</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">input</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">).each(</span><span style="background-color: #f5f5f5; color: #0000ff;">function</span><span style="background-color: #f5f5f5; color: #000000;">(){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff;">if</span><span style="background-color: #f5f5f5; color: #000000;">(</span><span style="background-color: #f5f5f5; color: #0000ff;">this</span><span style="background-color: #f5f5f5; color: #000000;">.value&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">==</span><span style="background-color: #f5f5f5; color: #000000;">&nbsp;'')&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">=</span><span style="background-color: #f5f5f5; color: #000000;">&nbsp;$(</span><span style="background-color: #f5f5f5; color: #0000ff;">this</span><span style="background-color: #f5f5f5; color: #000000;">).parent().prev().text();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(text</span><span style="background-color: #f5f5f5; color: #000000;">+</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">是必填项</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff;">this</span><span style="background-color: #f5f5f5; color: #000000;">.focus();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pass&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">=</span><span style="background-color: #f5f5f5; color: #000000;">&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff;">false</span><span style="background-color: #f5f5f5; color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff;">return</span><span style="background-color: #f5f5f5; color: #000000;">&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff;">false</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #008000;">//</span><span style="background-color: #f5f5f5; color: #008000;">跳出each</span><span style="background-color: #f5f5f5; color: #008000;"><br></span><span style="background-color: #f5f5f5; color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;});<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff;">return</span><span style="background-color: #f5f5f5; color: #000000;">&nbsp;pass;<br><br>&nbsp;&nbsp;<br>}<br></span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">script</span><span style="color: #0000ff;">&gt;</span></div>
<br><img src ="http://www.phpweblog.net/fuyongjie/aggbug/5755.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2008-09-12 14:19 <a href="http://www.phpweblog.net/fuyongjie/archive/2008/09/12/5755.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> 动态网页制作PHP常用的正则表达式</title><link>http://www.phpweblog.net/fuyongjie/archive/2008/09/08/5729.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Mon, 08 Sep 2008 00:50:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2008/09/08/5729.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/5729.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2008/09/08/5729.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/5729.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/5729.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;"><br><br>正则表达式用于字符串处理、表单验证等场合，实用高效。本文收集了一些常用的表达式：<br><br>匹配中文字符的正则表达式：[\u4e00</span><span style="color: #000000;">-</span><span style="color: #000000;">\u9fa5]<br><br>评注：匹配中文还真是个头疼的事，有了这个表达式就好办了<br><br>匹配双字节字符(包括汉字在内)：[</span><span style="color: #000000;">^</span><span style="color: #000000;">\x00</span><span style="color: #000000;">-</span><span style="color: #000000;">\xff]<br><br>评注：可以用来计算字符串的长度（一个双字节字符长度计2，ASCII字符计1）<br><br>匹配空白行的正则表达式：\n\s</span><span style="color: #000000;">*</span><span style="color: #000000;">\r<br><br>评注：可以用来删除空白行<br><br>匹配HTML标记的正则表达式：</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">(\S</span><span style="color: #000000;">*?</span><span style="color: #000000;">)[</span><span style="color: #000000;">^&gt;</span><span style="color: #000000;">]</span><span style="color: #000000;">*&gt;</span><span style="color: #000000;">.</span><span style="color: #000000;">*?&lt;/</span><span style="color: #000000;">\</span><span style="color: #000000;">1</span><span style="color: #000000;">&gt;|&lt;</span><span style="color: #000000;">.</span><span style="color: #000000;">*?/&gt;</span><span style="color: #000000;"><br><br>评注：网上流传的版本太糟糕，上面这个也仅仅能匹配部分，对于复杂的嵌套标记依旧无能为力<br><br>匹配首尾空白字符的正则表达式：</span><span style="color: #000000;">^</span><span style="color: #000000;">\s</span><span style="color: #000000;">*|</span><span style="color: #000000;">\s</span><span style="color: #000000;">*</span><span style="color: #000000;">$<br><br>评注：可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等)，非常有用的表达式<br><br>匹配Email地址的正则表达式：\w</span><span style="color: #000000;">+</span><span style="color: #000000;">([</span><span style="color: #000000;">-+</span><span style="color: #000000;">.]\w</span><span style="color: #000000;">+</span><span style="color: #000000;">)</span><span style="color: #000000;">*</span><span style="color: #000000;">@\w</span><span style="color: #000000;">+</span><span style="color: #000000;">([</span><span style="color: #000000;">-</span><span style="color: #000000;">.]\w</span><span style="color: #000000;">+</span><span style="color: #000000;">)</span><span style="color: #000000;">*</span><span style="color: #000000;">\.\w</span><span style="color: #000000;">+</span><span style="color: #000000;">([</span><span style="color: #000000;">-</span><span style="color: #000000;">.]\w</span><span style="color: #000000;">+</span><span style="color: #000000;">)</span><span style="color: #000000;">*</span><span style="color: #000000;"><br><br>评注：表单验证时很实用<br><br>匹配网址URL的正则表达式：[a</span><span style="color: #000000;">-</span><span style="color: #000000;">zA</span><span style="color: #000000;">-</span><span style="color: #000000;">z]</span><span style="color: #000000;">+</span><span style="color: #000000;">:</span><span style="color: #008000;">//</span><span style="color: #008000;">[^\s]*</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>评注：网上流传的版本功能很有限，上面这个基本可以满足需求<br><br>匹配帐号是否合法(字母开头，允许5</span><span style="color: #000000;">-</span><span style="color: #000000;">16字节，允许字母数字下划线)：</span><span style="color: #000000;">^</span><span style="color: #000000;">[a</span><span style="color: #000000;">-</span><span style="color: #000000;">zA</span><span style="color: #000000;">-</span><span style="color: #000000;">Z][a</span><span style="color: #000000;">-</span><span style="color: #000000;">zA</span><span style="color: #000000;">-</span><span style="color: #000000;">Z0</span><span style="color: #000000;">-</span><span style="color: #000000;">9_]{</span><span style="color: #000000;">4</span><span style="color: #000000;">,</span><span style="color: #000000;">15</span><span style="color: #000000;">}$<br><br>评注：表单验证时很实用<br><br>匹配国内电话号码：\d{</span><span style="color: #000000;">3</span><span style="color: #000000;">}</span><span style="color: #000000;">-</span><span style="color: #000000;">\d{</span><span style="color: #000000;">8</span><span style="color: #000000;">}</span><span style="color: #000000;">|</span><span style="color: #000000;">\d{</span><span style="color: #000000;">4</span><span style="color: #000000;">}</span><span style="color: #000000;">-</span><span style="color: #000000;">\d{</span><span style="color: #000000;">7</span><span style="color: #000000;">}<br><br>评注：匹配形式如0511</span><span style="color: #000000;">-</span><span style="color: #000000;">4405222或021</span><span style="color: #000000;">-</span><span style="color: #000000;">87888822</span><span style="color: #000000;"><br><br>匹配腾讯QQ号：[</span><span style="color: #000000;">1</span><span style="color: #000000;">-</span><span style="color: #000000;">9</span><span style="color: #000000;">][</span><span style="color: #000000;">0</span><span style="color: #000000;">-</span><span style="color: #000000;">9</span><span style="color: #000000;">]{</span><span style="color: #000000;">4</span><span style="color: #000000;">,}<br><br>评注：腾讯QQ号从10000开始<br><br>匹配中国邮政编码：[</span><span style="color: #000000;">1</span><span style="color: #000000;">-</span><span style="color: #000000;">9</span><span style="color: #000000;">]\d{</span><span style="color: #000000;">5</span><span style="color: #000000;">}(</span><span style="color: #000000;">?!</span><span style="color: #000000;">\d)<br><br>评注：中国邮政编码为6位数字<br><br>匹配身份证：\d{</span><span style="color: #000000;">15</span><span style="color: #000000;">}</span><span style="color: #000000;">|</span><span style="color: #000000;">\d{</span><span style="color: #000000;">18</span><span style="color: #000000;">}<br><br>评注：中国的身份证为15位或18位<br><br>匹配ip地址：\d</span><span style="color: #000000;">+</span><span style="color: #000000;">\.\d</span><span style="color: #000000;">+</span><span style="color: #000000;">\.\d</span><span style="color: #000000;">+</span><span style="color: #000000;">\.\d</span><span style="color: #000000;">+</span><span style="color: #000000;"><br><br>评注：提取ip地址时有用<br><br>匹配特定数字：<br><br></span><span style="color: #000000;">^</span><span style="color: #000000;">[</span><span style="color: #000000;">1</span><span style="color: #000000;">-</span><span style="color: #000000;">9</span><span style="color: #000000;">]\d</span><span style="color: #000000;">*</span><span style="color: #000000;">$　　</span><span style="color: #008000;">//</span><span style="color: #008000;">匹配正整数</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br></span><span style="color: #000000;">^-</span><span style="color: #000000;">[</span><span style="color: #000000;">1</span><span style="color: #000000;">-</span><span style="color: #000000;">9</span><span style="color: #000000;">]\d</span><span style="color: #000000;">*</span><span style="color: #000000;">$　</span><span style="color: #008000;">//</span><span style="color: #008000;">匹配负整数</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br></span><span style="color: #000000;">^-?</span><span style="color: #000000;">[</span><span style="color: #000000;">1</span><span style="color: #000000;">-</span><span style="color: #000000;">9</span><span style="color: #000000;">]\d</span><span style="color: #000000;">*</span><span style="color: #000000;">$　　</span><span style="color: #008000;">//</span><span style="color: #008000;">匹配整数</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br></span><span style="color: #000000;">^</span><span style="color: #000000;">[</span><span style="color: #000000;">1</span><span style="color: #000000;">-</span><span style="color: #000000;">9</span><span style="color: #000000;">]\d</span><span style="color: #000000;">*|</span><span style="color: #000000;">0</span><span style="color: #000000;">$　</span><span style="color: #008000;">//</span><span style="color: #008000;">匹配非负整数（正整数+0）</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br></span><span style="color: #000000;">^-</span><span style="color: #000000;">[</span><span style="color: #000000;">1</span><span style="color: #000000;">-</span><span style="color: #000000;">9</span><span style="color: #000000;">]\d</span><span style="color: #000000;">*|</span><span style="color: #000000;">0</span><span style="color: #000000;">$　　</span><span style="color: #008000;">//</span><span style="color: #008000;">匹配非正整数（负整数+0）</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br></span><span style="color: #000000;">^</span><span style="color: #000000;">[</span><span style="color: #000000;">1</span><span style="color: #000000;">-</span><span style="color: #000000;">9</span><span style="color: #000000;">]\d</span><span style="color: #000000;">*</span><span style="color: #000000;">\.\d</span><span style="color: #000000;">*|</span><span style="color: #000000;">0</span><span style="color: #000000;">\.\d</span><span style="color: #000000;">*</span><span style="color: #000000;">[</span><span style="color: #000000;">1</span><span style="color: #000000;">-</span><span style="color: #000000;">9</span><span style="color: #000000;">]\d</span><span style="color: #000000;">*</span><span style="color: #000000;">$　　</span><span style="color: #008000;">//</span><span style="color: #008000;">匹配正浮点数</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br></span><span style="color: #000000;">^-</span><span style="color: #000000;">([</span><span style="color: #000000;">1</span><span style="color: #000000;">-</span><span style="color: #000000;">9</span><span style="color: #000000;">]\d</span><span style="color: #000000;">*</span><span style="color: #000000;">\.\d</span><span style="color: #000000;">*|</span><span style="color: #000000;">0</span><span style="color: #000000;">\.\d</span><span style="color: #000000;">*</span><span style="color: #000000;">[</span><span style="color: #000000;">1</span><span style="color: #000000;">-</span><span style="color: #000000;">9</span><span style="color: #000000;">]\d</span><span style="color: #000000;">*</span><span style="color: #000000;">)$　</span><span style="color: #008000;">//</span><span style="color: #008000;">匹配负浮点数</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br></span><span style="color: #000000;">^-?</span><span style="color: #000000;">([</span><span style="color: #000000;">1</span><span style="color: #000000;">-</span><span style="color: #000000;">9</span><span style="color: #000000;">]\d</span><span style="color: #000000;">*</span><span style="color: #000000;">\.\d</span><span style="color: #000000;">*|</span><span style="color: #000000;">0</span><span style="color: #000000;">\.\d</span><span style="color: #000000;">*</span><span style="color: #000000;">[</span><span style="color: #000000;">1</span><span style="color: #000000;">-</span><span style="color: #000000;">9</span><span style="color: #000000;">]\d</span><span style="color: #000000;">*|</span><span style="color: #000000;">0</span><span style="color: #000000;">?</span><span style="color: #000000;">\.</span><span style="color: #000000;">0</span><span style="color: #000000;">+|</span><span style="color: #000000;">0</span><span style="color: #000000;">)$　</span><span style="color: #008000;">//</span><span style="color: #008000;">匹配浮点数</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br></span><span style="color: #000000;">^</span><span style="color: #000000;">[</span><span style="color: #000000;">1</span><span style="color: #000000;">-</span><span style="color: #000000;">9</span><span style="color: #000000;">]\d</span><span style="color: #000000;">*</span><span style="color: #000000;">\.\d</span><span style="color: #000000;">*|</span><span style="color: #000000;">0</span><span style="color: #000000;">\.\d</span><span style="color: #000000;">*</span><span style="color: #000000;">[</span><span style="color: #000000;">1</span><span style="color: #000000;">-</span><span style="color: #000000;">9</span><span style="color: #000000;">]\d</span><span style="color: #000000;">*|</span><span style="color: #000000;">0</span><span style="color: #000000;">?</span><span style="color: #000000;">\.</span><span style="color: #000000;">0</span><span style="color: #000000;">+|</span><span style="color: #000000;">0</span><span style="color: #000000;">$　　</span><span style="color: #008000;">//</span><span style="color: #008000;">匹配非负浮点数（正浮点数+0）</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br></span><span style="color: #000000;">^</span><span style="color: #000000;">(</span><span style="color: #000000;">-</span><span style="color: #000000;">([</span><span style="color: #000000;">1</span><span style="color: #000000;">-</span><span style="color: #000000;">9</span><span style="color: #000000;">]\d</span><span style="color: #000000;">*</span><span style="color: #000000;">\.\d</span><span style="color: #000000;">*|</span><span style="color: #000000;">0</span><span style="color: #000000;">\.\d</span><span style="color: #000000;">*</span><span style="color: #000000;">[</span><span style="color: #000000;">1</span><span style="color: #000000;">-</span><span style="color: #000000;">9</span><span style="color: #000000;">]\d</span><span style="color: #000000;">*</span><span style="color: #000000;">))</span><span style="color: #000000;">|</span><span style="color: #000000;">0</span><span style="color: #000000;">?</span><span style="color: #000000;">\.</span><span style="color: #000000;">0</span><span style="color: #000000;">+|</span><span style="color: #000000;">0</span><span style="color: #000000;">$　　</span><span style="color: #008000;">//</span><span style="color: #008000;">匹配非正浮点数（负浮点数+0）</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>评注：处理大量数据时有用，具体应用时注意修正<br><br>匹配特定字符串：<br><br></span><span style="color: #000000;">^</span><span style="color: #000000;">[A</span><span style="color: #000000;">-</span><span style="color: #000000;">Za</span><span style="color: #000000;">-</span><span style="color: #000000;">z]</span><span style="color: #000000;">+</span><span style="color: #000000;">$　　</span><span style="color: #008000;">//</span><span style="color: #008000;">匹配由26个英文字母组成的字符串</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br></span><span style="color: #000000;">^</span><span style="color: #000000;">[A</span><span style="color: #000000;">-</span><span style="color: #000000;">Z]</span><span style="color: #000000;">+</span><span style="color: #000000;">$　　</span><span style="color: #008000;">//</span><span style="color: #008000;">匹配由26个英文字母的大写组成的字符串</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br></span><span style="color: #000000;">^</span><span style="color: #000000;">[a</span><span style="color: #000000;">-</span><span style="color: #000000;">z]</span><span style="color: #000000;">+</span><span style="color: #000000;">$　　</span><span style="color: #008000;">//</span><span style="color: #008000;">匹配由26个英文字母的小写组成的字符串</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br></span><span style="color: #000000;">^</span><span style="color: #000000;">[A</span><span style="color: #000000;">-</span><span style="color: #000000;">Za</span><span style="color: #000000;">-</span><span style="color: #000000;">z0</span><span style="color: #000000;">-</span><span style="color: #000000;">9</span><span style="color: #000000;">]</span><span style="color: #000000;">+</span><span style="color: #000000;">$　　</span><span style="color: #008000;">//</span><span style="color: #008000;">匹配由数字和26个英文字母组成的字符串</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br></span><span style="color: #000000;">^</span><span style="color: #000000;">\w</span><span style="color: #000000;">+</span><span style="color: #000000;">$　　</span><span style="color: #008000;">//</span><span style="color: #008000;">匹配由数字、26个英文字母或者下划线组成的字符串</span><span style="color: #008000;"><br></span></div>
<br><img src ="http://www.phpweblog.net/fuyongjie/aggbug/5729.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2008-09-08 08:50 <a href="http://www.phpweblog.net/fuyongjie/archive/2008/09/08/5729.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js检查是否全是中文</title><link>http://www.phpweblog.net/fuyongjie/archive/2008/09/01/5692.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Mon, 01 Sep 2008 06:38:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2008/09/01/5692.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/5692.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2008/09/01/5692.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/5692.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/5692.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #0000ff;"></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">html&nbsp;</span><span style="color: #ff0000;">xmlns</span><span style="color: #0000ff;">="http://www.w3.org/1999/xhtml"</span><span style="color: #ff0000;">&nbsp;xml:lang</span><span style="color: #0000ff;">="zh"</span><span style="color: #ff0000;">&nbsp;lang</span><span style="color: #0000ff;">="zh"</span><span style="color: #ff0000;">&nbsp;dir</span><span style="color: #0000ff;">="ltr"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">head&nbsp;</span><span style="color: #ff0000;">profile</span><span style="color: #0000ff;">="http://www.w3.org/2000/08/w3c-synd/#"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">meta&nbsp;</span><span style="color: #ff0000;">http-equiv</span><span style="color: #0000ff;">="Content-Type"</span><span style="color: #ff0000;">&nbsp;content</span><span style="color: #0000ff;">="text/html;&nbsp;charset=utf-8"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">meta&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="keywords"</span><span style="color: #ff0000;">&nbsp;content</span><span style="color: #0000ff;">="Leo,HEnT&nbsp;Studio,LAMP,PHP,MySQL"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">meta&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="DEscription"</span><span style="color: #ff0000;">&nbsp;content</span><span style="color: #0000ff;">="HEnT&nbsp;Studio"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">meta&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="Author"</span><span style="color: #ff0000;">&nbsp;content</span><span style="color: #0000ff;">="Leo,HEnT&nbsp;Studio"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">title</span><span style="color: #0000ff;">&gt;中文js测试</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">title</span><span style="color: #0000ff;">&gt;<br>&nbsp;&nbsp;&nbsp; &nbsp;&lt;script&gt;</span><span style="color: #000000;">&nbsp; </span><span style="background-color: #f5f5f5; color: #000000;">
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;"></span><span style="color: #000000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;isChn(str){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;reg&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">/^</span><span style="color: #000000;">[\u4E00</span><span style="color: #000000;">-</span><span style="color: #000000;">\u9FA5]</span><span style="color: #000000;">+</span><span style="color: #000000;">$</span><span style="color: #000000;">/</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(</span><span style="color: #000000;">!</span><span style="color: #000000;">reg.test(str)){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(</span><span style="color: #000000;">"</span><span style="color: #000000;">不是中文</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(</span><span style="color: #000000;">"</span><span style="color: #000000;">中文</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br>}</span><span style="color: #000000;"></span><span style="color: #000000;"><br></span></div>
</span><span style="color: #0000ff;">&nbsp;&nbsp; &lt;/</span><span style="color: #800000;">script</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">head</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">body&nbsp;</span><span style="color: #ff0000;">onload</span><span style="color: #0000ff;">=isChn("人民")</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">body</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">html</span><span style="color: #0000ff;">&gt;</span></div>
<br><img src ="http://www.phpweblog.net/fuyongjie/aggbug/5692.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2008-09-01 14:38 <a href="http://www.phpweblog.net/fuyongjie/archive/2008/09/01/5692.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>