偶然看到的jquery选择器性能问题

<ul>
    <li class="test">哈哈</li>
    <li class="test">哈哈</li>
    <li class="test">哈哈</li>
    <li class="test">哈哈</li>
    <li class="test">哈哈</li>
</ul>
</body>
<script src="jquery-3.1.1.js"></script>
<script>
//:first 所选元素第一个
//:last 匹配所选元素最后一个
//:odd  匹配第1,3,5..奇数个 (索引基于0)
//:even 匹配第0,2,4  偶数个 (索引基于0)

//上述选择器都适用下面的建议
$(document).ready(function () {
//    yes
//    效率高
    $("li").filter(":first").css({
    color:"red"
    });
//    no
    $("li:first").on("click",function () {
        alert(2)
    })
});
  • 因为 :first() 是一个 jQuery 延伸出来的一个选择器。 并且不是的CSS规范的一部分, 使用:first()查询不能充分利用原生DOM提供的querySelectorAll() 方法来提高性能。为了在现代浏览器上获得更佳的性能,请使用.filter(":first")代替。
原文地址:https://www.cnblogs.com/joesbell/p/6008246.html