源码部分 通过Sizzle.attr匹配出值 然后通过表达式刷选计算 "ATTR": function( name, operator, check ) { return function( elem ) { var result = Sizzle.attr( elem, name ); if ( ...
分类:
其他好文 时间:
2014-07-22 22:51:56
阅读次数:
195
可见性:hidden:visible隐藏对象没有宽高,前提是用display:none处理的jQuery.expr.filters.hidden = function( elem ) { // Support: Opera -1; };}),取空递归这个节点,排除nodeType大于6...
分类:
其他好文 时间:
2014-07-22 22:43:54
阅读次数:
230
Name: Newsletter: 1 2 3 js$("form div > p[name=aaron]")解析的流程:编译器:分5个步骤涉及: TAG元素 关系选择器 属性选择器1:通过tokenize词法分析器分组2:遍历tokens,从右边...
分类:
其他好文 时间:
2014-07-21 14:23:03
阅读次数:
299
querySelector和querySelectorAll是W3C提供的 新的查询接口目前几乎主流浏览器均支持了他们。包括 IE8(含) 以上版本、 Firefox、 Chrome、Safari、Opera。万能的sizzle在高版本的浏览器中复杂的选择器尽量走querySelectorAll,前...
分类:
其他好文 时间:
2014-07-16 16:58:04
阅读次数:
228
部分IE游览器下无法通过getAttribute取值? alert(form.getAttribute('name')); IE6、7中错误 alert(form.getAttributeNode('name').nodeValue);看看jQ的解决方案能力判断 support.attributes...
分类:
其他好文 时间:
2014-07-12 13:43:36
阅读次数:
182
前一篇《关于selector性能比赛》中提到,目测觉得在$("div,p,a")这样有逗号时,sizzle耗时异常(600多个元素,花了200ms),说是它可能没有优化ie下的排序。按所推荐的程序在IE下跑了下,的确,排序耗时很小。1234567891011121314151617181920212...
分类:
Web程序 时间:
2014-07-10 00:58:12
阅读次数:
210
Sizzle是一款纯javascript实现的css选择器引擎,它具有完全独立,无库依赖;小;易于扩展和兼容性好等特点. W3C Selectors API规范定义了方法querySelector()和querySelectorAll(),但是IE6,7不支持这两个方法. ...
分类:
Web程序 时间:
2014-07-07 21:41:29
阅读次数:
283
为了便于后面的叙述,需要了解一些相关术语和约定. 并列选择器表达式:"div,p,a"====>div,p,a是并列的. 块表达式:"div>p"中的div和p就是两个块. 块表达式的类型:共8种.id,class,name,attr,tag,child,p...
分类:
Web程序 时间:
2014-07-07 21:09:55
阅读次数:
293
函数Sizzle(selector,context,results,seed)用于查找与选择器表达式selector匹配的元素集合.该函数是选择器引擎的入口. 函数Sizzle执行的6个关键步骤如下: 1.解析选择器表达式,解析出块表达式和关系符. 2.如...
分类:
Web程序 时间:
2014-06-29 19:49:01
阅读次数:
220