使用jQuery查找链接时document.links更快吗?

vsy*_*ync 2 javascript jquery dom

这更快:

$(document.links).filter('a.someClass')
Run Code Online (Sandbox Code Playgroud)

不仅仅是简单的旧:

$('a.someClass')
Run Code Online (Sandbox Code Playgroud)

我没有在jQuery的代码中看到任何地方利用document.links
它可以立即为你提供文档上的链接集合,而
不是看起来,只是过滤集合
而不是所有DOM节点,这是更快的,这是很多节点要经过.

Mat*_*att 8

我刚刚运行了测试,在Chrome上运行选择器1000次.

$(document.links).filter('a.someClass') 耗时672毫秒,运行1000次.

$('a.someClass') 花了191毫秒运行1000次.

如果你这样做

$('a').filter('.someClass')但是,运行需要652毫秒; 所以filter似乎是失去时间的地方.

var x = $('.remove', document.links);巧合的是,耗时13秒; 所以最好不要使用那种变化:P

  • 我在这里进行了自己的测试(使用firebug观察):http://jsbin.com/ixiva3 (2认同)