2014-04-13 42 views

回答

2

只要有可能,jQuery会尝试使用document.querySelectordocument.querySelectorAll,因为这会使用本地浏览器功能来执行查询。

如果某些东西不在规格中,或者浏览器不支持,那么jQuery需要回退到Swizzle engine,通常这会比较慢,因为它需要遍历DOM本身。

代码流会是这样的(伪):

try { 
    document.querySelectorAll(selector); 
} catch (e) { 
    Swizzle.querySelectorAll(selector); 
} 

因此,对浏览器的支持:not([attr="value"])它应该(如果实施得当)更快然后[attr!="value"]

这是否显而易见取决于用例。

相关问题