在jQuery中,执行速度更快:$("li").last()
或$("li:last-child")
?
答案 0 :(得分:10)
虽然两者在他们所做的事情上有所不同,但这是我从jsperf得到的结果:
http://jsperf.com/li-last-vs-li-last-child
<强> $( “里”)。最后()强>
28,752
±8.59%
fastest
和
$( “李:最后的孩子”)
21,930
±4.01%
24% slower
所以$("li").last()
更快。
FYI $("li").last()
选择绝对最后一个元素,而$("li:last-child")
选择 每个 一系列分组元素中的最后一个元素。这也很明显$("li").last()
应该更快。
答案 1 :(得分:4)
两者不等同。
.last()
将始终返回单个元素; :last-child
可能匹配多个元素,如果每个元素具有不同的父元素(因此是其相应父元素的最后一个子元素)。
也就是说,.last()
如果你只选择一个父元素就可以稍快一些。