我想使用最佳实践来选择和遍历 dom。我听说不同的方法和选择器有不同的性能。 在 JQUERY 中使用遍历方法是否比使用选择器在性能方面更快?如果是的话为什么会更快?
最佳答案
在 JQUERY 中使用遍历方法确实比使用选择器性能更快吗?
是
为什么更快?
首先,如果您只想选择一个具有 id
或 class
的元素,并且该元素位于 DOM 的顶部,那么您就不存在性能问题可以使用其中任何一个。
但是当你谈论更深入或者你的元素保持为子元素并且可以处于 Dom 中的任何级别时,我们需要思考。
例如:
<div id="mdiv">
<ul>
<li>one<li>
<li>two<li>
<li>three<li>
</ul>
</div>
现在您要选择最后一个li
。
所以你可以选择这样的方式:
$("#mdiv ul li:last")
或者,
$("#mdiv ul > li:last")
或
以遍历方式
$("#mydiv").find("ul").children("li").last();
现在肯定遍历速度会更快。
为什么?
只需考虑一件事:字符串解析。
在第一种情况下,需要解析字符串以翻译它的含义并相应地搜索 DOM。
在第二种情况下,您给出直接命令,因此它将执行 DOM 搜索而不进行任何解析。
关于javascript - jquery遍历方法与选择器方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30365147/