我想知道.filter(':last')和.last()之间有什么不同
对我来说,他们似乎在做同样的事情,但我是jQuery的新手。如果结果没有区别,那么推荐哪一个,或者这只是个人偏好的问题?
发布于 2013-06-13 06:15:18
last的工作原理是“把选择中的最后一个元素给我”。只需两次函数调用和四行代码即可完成此操作。这不可能以更快的方式完成。
然而,filter(':last')要复杂得多。它是一个更灵活的系统,允许返回多个元素(如果你想要的话),或者多个条件,或者两者的混合。它的效率要低得多,因为它必须找出你想要的东西。例如,解析':last'需要很少的时间,而使用last函数则是一个简单的属性查找。
到目前为止,last的效率更高。
发布于 2013-06-13 06:10:57
-选择最后一个匹配的元素。
-将匹配元素的集合减少为集合中的最后一个元素。
正如您所看到的,它们做了相同的事情(无论如何,就最终结果而言)。
last() (虽然您可能没有注意到,但知道这一点总是很好)。
尽管充分利用了:last (在性能方面),但它仍然涉及更多的函数调用,而且仍然比last()慢-尽管它确实有自己的优势(请参阅@lonesomeday的回答)。
然而,我的建议是一般使用last(),而不是前者。
https://stackoverflow.com/questions/17076182
复制相似问题