Jquery遍历和使用选择器

时间:2013-06-04 02:02:51

标签: javascript jquery jquery-selectors

我正在读一本书,他们展示了几个如何在DOM上选择元素的例子,但他们建议总是在选择器上使用Jquery trasversing方法,例如,如果你在div中有一个列表而不是使用

$("#myList > li")

你应该使用

$("#myList").children("li")

大多数时候我使用第一个超过后者,作者说第二个是首选的,效率更高但他没有解决原因,有人可以解释其背后的原因吗?

1 个答案:

答案 0 :(得分:5)

我认为在这种特殊情况下性能的差异归结为:

document.querySelectorAll('#myList > li');
// VS
document.getElementById('myList').children;

此处的效果测试:http://jsperf.com/ae-d2-56-2a-e2-36-a3-d3-52-74

jQuery可能会检查它是否为li给定选择器,但仍然会比querySelectorAll或Sizzle更快。