选择器那些事开篇之selector使用频度与优秀engines介绍
写于2012-4-3 清明假期的第二天 | ****
决定开一个专题----选择器那些事,研习一下selector相关的知识,提升一下这方面的认识和积累。
首先提一提john Resig博客里面提到的jQuery sites常用的selectors。
- 标红的是w3c不遵从的选择器(non-W3C-compliant)
- 所有的selectors被中和了一下(比如'div span'和'ul li'变成了'tag tag')
- %Used这一列代表在所有选择器中此选择器所占的比例
- #Uses这一列是所有的数目
- 只用一次的选择器被删除了
在Performance isn't Compliance这一段里面,john还提到了一个用来检测selector engines性能的一个网站:
SlickSpeed ----- 它是mootools官网里面的一个检测网站,目前检测的是如下的几种脚本库的selector
最后的结果大家可以自己去上面点一下start tests的按钮看看效果。
其实不光只有上面检测的几种selector engines,以前在kissy的源码里面的selector.js的注释里面看到又相关整理:
- Peppy ----- James Donaghue
简单介绍一下:
1、Peppy在DOM querying能力方面比其他大部分的js库比如(prototype1.6.03 | jquery1.2.6 | MooTools 1.2.1 | EXT 2.2| DoJo1.2.0| YUI 2.6.0 )快一倍
2、比john Resig的Sizzle快2倍,也是兼容各大浏览器,包括IE.
3、作者还在http://jamesdonaghue.com/static/peppy/profile/slickspeed/ 展示了一下性能对比,很直观
最后的差距看得数还是不错的!
- MINI ----- james padolsey
简单介绍一下:
1、mini 只是来支持常用的css selectors。
2、mini支持一下的selectors
- Sly ----http://github.com/digitarald/sly
扩展阅读:
1、http://ejohn.org/blog/selectors-that-people-actually-use/