jquery - 选择器应该有多具体?

标签 jquery jquery-selectors

我有一个关于 jQuery 的一般性问题。假设我有以下代码:

<div id="container">
    <ul>
        <li>1</li>
        <li class="target">2</li>
        <li>3</li>
    </ul>
</div>

选择目标元素的最佳且最快的方法是什么?

$('div#container ul li.target')

$('#container .target')

$('li.target')

或者这更快:

$('.target')

我想知道,实现这一目标的最佳方法是什么?你可以说越具体越好,但我想太具体会减慢进程。另外 class 方法“较慢”,但差别不再那么大了,还是我错了?

最佳答案

对于此示例,$('.target') 是最快的。 JQuery 已经找到了遍历算法;)

证明:http://jsperf.com/jquery-selector-speed-tests

关于jquery - 选择器应该有多具体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6837174/

相关文章:

jquery - 将变量与 jquery 选择器一起使用

jquery - 多维选择字段的 jQuery 选择器中的通配符

javascript - 如何使用作为函数参数传递的变量

javascript - 为什么要使用诸如:not() and :has() allow quoted arguments?这样的伪函数

jquery 选择器混淆 - $ ('div p' ) vs $ ('div>p' )

javascript - 如何创建只有一个图像的图像幻灯片? (自己滑动)

javascript - javascript 小部件的样式在没有元视口(viewport)标记的情况下无法缩放

javascript - jquery nicescroll 和 touchbehavior 问题

jquery - 使用 Jquery 将复杂类型发布到 Asp.Net MVC

javascript - 平滑滚动不适用于 p 标签内的标签