我正在读一本书,他们展示了几个如何在 DOM 上选择元素的示例,但他们建议始终在选择器上使用 Jquery 遍历方法,例如,如果您在 div 中有一个列表而不是使用
$("#myList > li")
你应该使用
$("#myList").children("li")
大多数时候我使用第一个而不是后者,作者说第二个是首选且更有效,但他没有说明原因,谁能解释这背后的原因?
我正在读一本书,他们展示了几个如何在 DOM 上选择元素的示例,但他们建议始终在选择器上使用 Jquery 遍历方法,例如,如果您在 div 中有一个列表而不是使用
$("#myList > li")
你应该使用
$("#myList").children("li")
大多数时候我使用第一个而不是后者,作者说第二个是首选且更有效,但他没有说明原因,谁能解释这背后的原因?
我认为在这种特殊情况下的性能差异归结为:
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 快。