4

.filter(':last')我想知道和之间有什么区别.last()吗?

对我来说,看起来他们也在做同样的事情,但我是 jQuery 的新手。如果结果没有差异,推荐哪一个还是只是个人喜好问题?

4

2 回答 2

6

last通过说“给我选择中的最后一个元素”来工作。只需两个函数调用和四行代码即可。它不能以更快的方式完成。

filter(':last'),然而,要复杂得多。它是一个更加灵活的系统,允许返回多个元素,如果这是您想要的,或者多个条件,或者两者的混合。它的效率要低得多,因为它必须解决您想要的问题。例如,解析':last'需要一点时间,而使用last函数它是一个简单的属性查找。

last是迄今为止更有效的。

于 2013-06-12T22:15:17.917 回答
2

:last- 选择最后一个匹配的元素。

last()- 将匹配元素的集合减少到集合中的最后一个。

如您所见,它们做同样的事情(无论如何,就最终结果而言)。

last() 比 :last 稍快(尽管您可能没有注意到,但知道总是好的)。

.filter(":last"),尽管从 中取得了最好的(性能方面):last,但仍然涉及更多的函数调用并且仍然比last()- 尽管它确实有其优势(请参阅@lonesomeday的答案)。

然而,我的建议是一般使用last()而不是前者。

于 2013-06-12T22:10:57.400 回答