.last()和:last之间有什么区别?

时间:2010-06-24 15:20:39

标签: javascript jquery

有人可以解释.last()和:last之间的区别吗?我似乎无法找到明确的解释。

为什么这个$('td.cellsOfSpecificClass:last', '.table tr')正确地返回每个tr中的最后一个td而不是整个表中的最后一个td?

2 个答案:

答案 0 :(得分:5)

.last()是一个函数,它返回给定(现有)元素集合的最后一个元素。 :last是一个选择器,它将在$('...')中使用,它立即返回最后一个元素而不是整个集合。使用哪一个取决于你到目前为止以及你需要什么。


更新:更多地澄清最后一句:

如果已经在变量中包含元素集合,则需要最后一个元素,然后使用.last()。如果您还没有它,并且只需要 最后一个元素,那么请使用:last。如果您在代码的残余中确实需要 both ,那么抓住所有元素使用.last()

答案 1 :(得分:2)

如果误解,请更多地详细说明BalusC的答案,所以请向他投票,你好吗?

'given array'是一个jQuery元素数组。

$('.willReturnManyObjects').last()

将为您提供 jQuery 对象,该对象是使用该类名/选择器找到的最后一个元素。

这与调用.eq(-1);

相同

:last是获取选择器中的最后一项,但可用于获取许多元素:

$('input:last, .extraDiv'); 

这将为您提供最后的输入任何.extraDiv元素。

很酷,嗯?

编辑:看起来像BalusC编辑他的答案在我输入时更容易理解:p