作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有一个包含大量子元素(1000 多个)的父元素。我正在寻找最快的方法来获取最后一个子元素的句柄。我发现的选项是:
$('.parent .child').last()
和
$('.parent .child:last')
对于跨浏览器哪个可靠地更快有什么意见吗?
编辑
我在 jsfiddle 中编写了一个测试来衡量这一点,结果发现差异几乎可以忽略不计。尽管 .last() 表现更好,但差异可以忽略不计。所以我认为即使使用 :last 选择器,它实际上也是在获取整个元素列表然后返回最后一个元素?难以置信。
最佳答案
许多现代浏览器都支持 document.querySelectorAll()
,因此 $('.parent .child').last()
应该更快,因为选择器字符串可以按原样传递,然后弹出最后一个匹配项。
在后者中,:last
不是标准的伪选择器,Sizzle 必须开始对选择器字符串进行分块以开始匹配。
但总的来说,我会使用您认为最易读的内容。要开始对此进行优化,首先确保您的应用程序存在性能问题,并且您已将此选择器确定为瓶颈。
关于javascript - 哪个更有效率 - $ ('selector' ).last() 或 $ ('selector:last' )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12209350/
我是一名优秀的程序员,十分优秀!