【发布时间】:2017-03-04 08:14:07
【问题描述】:
:last-of-type (as of v1.9) vs .last() (as of v1.4):两种方法都可以,但谁能告诉我哪种方法效率更高?
例子:
$(".item").last();
$(".item:last-of-type");
".last()" 的使用时间更长(从 v1.4 开始)。 JQuery 是否具有内置的“:last-of-type”,还是只是利用 CSS 和捎带浏览器的功能?谁能证实这一点?
在我看来,如果是这种情况,“:last-of-type”在适用时会更好。
【问题讨论】:
-
为什么不运行一些 jsperf 测试?
-
一般来说,jQuery 选择器会尽可能使用原生选择器。
-
选择器执行两种不同的选择,不是吗?
-
他们甚至不做同样的事情,
last()只是获取集合中的最后一个元素,而:last-of-type查询 DOM 并找到它的最后一个类型的所有元素父元素,即在具有相同标记名的兄弟之间 -
我确实理解其中的区别,我并不是说他们做的事情完全相同。我试图弄清楚我应该使用哪一个来提高效率。就比较而言,你是对的。也许 ":last" (link) 而不是 ":last-of-type" 会是一个更好的例子?
标签: javascript jquery jquery-selectors css-selectors pseudo-class