5

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

$("#myList > li")

你应该使用

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

大多数时候我使用第一个而不是后者,作者说第二个是首选且更有效,但他没有说明原因,谁能解释这背后的原因?

4

1 回答 1

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 快。

于 2013-06-04T02:16:30.030 回答