javascript - jquery遍历方法与选择器方法

标签 javascript jquery html css

我想使用最佳实践来选择和遍历 dom。我听说不同的方法和选择器有不同的性能。 在 JQUERY 中使用遍历方法是否比使用选择器在性能方面更快?如果是的话为什么会更快?

最佳答案

在 JQUERY 中使用遍历方法确实比使用选择器性能更快吗?

为什么更快?

首先,如果您只想选择一个具有 idclass 的元素,并且该元素位于 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/

相关文章:

javascript - 需要在javascript onload中调用这个函数

javascript - 带 Jest 的 vue-test-utils 为 map-spread 运算符抛出意外的 token 错误

javascript - $(document.body) 和 document.body 是一样的吗?上课打扫垃圾和捆绑? - MooTools 1.3

javascript - 将 List 类型的参数传递给 Javascript 函数

javascript - 显示覆盖全屏 div,然后通过单击将其隐藏

html - 使用 Chrome 开发工具刷新模式以查看 HTML/CSS 更改

javascript - jQuery 文件上传无法调用未定义的方法 '_adjustMaxNumberOfFiles'

javascript - 检查子对象是否存在,如果存在,则添加到对象

php - 在 uploadify 中上传完成后不想隐藏队列项目栏

html css3解析错误