jQuery 1.2.6和jQuery 1.3.1的特殊字符选择器极限测试

心血来潮,把键盘上能按出来的特殊字符都按了个遍
依次是:
~`!@#$%^&*()_+{}|":?><,./;'[]\
其中<和"不能放到id里,页面显示不全之外其他都可以哦~
分别放在中间,结尾和开头,比如te[st、te[、[st这种。
好孩子不要学哦~
W3C规定

ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").

ID和NAME必须由字母([A-Za-z]) 开头,之后可以跟任意数量的字母、数字([0-9])、短横("-")、下划线("_")、冒号(":")和点(".")。

实验结果表明,jQuery 1.3.1的选择器对于这些BT的特殊字符没有jQuery 1.2.6强劲,jQuery 1.2.6基本上是getElementById能搞定的他都能搞定,而1.3.1中的Sizzle选择器却没这么强悍,当然这纯属测试而已,同时提醒各位同学,一定要尊崇标准啊……不要随便乱来……我知道某些会输出诸如foo[bar]之类的ID,不可取啊,不符合标准的啊……虽然#foo\\[bar\\]是能成功匹配的,但#foo\\[bar就不行。总之注意别用这些离奇的符号做ID就差不多不会有问题了。

测试页面在这里:
http://shawphy.com/demo/selector/jQuery-1-2-6-selector-test.html
http://shawphy.com/demo/selector/jQuery-1-3-1-selector-test.html

测试结果,
1.2.6:三个失败

te\st
te\
\st

1.3.1:一坨……

te~st
te(st
te+st
te[st
te\st
te>st
te,st
te~
te(
te+
te[
te\
te>
te,
~st
(st
+st
[st
\st
>st
,st
================
dev maillist发了邮件,John大回复说似乎可以解决,期待一下吧。

This entry was posted in jQuery. Bookmark the permalink.

3 Responses to jQuery 1.2.6和jQuery 1.3.1的特殊字符选择器极限测试

  1. Cssrain says:

    那特殊字符处理 就没折了?

  2. 学习笔记 says:

    标准就不会让人头疼了,我烦头疼的东东,

  3. Shawphy says:

    标准就是在出现了一坨让人头痛的东西之后才出现的……
    等1.3.2甚至1.3.3的修复吧……

發表迴響

您的電子郵件位址並不會被公開。 必要欄位標記為 *

*

您可以使用這些 HTML 標籤與屬性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>