有人可以解释.last()和:last之间的区别吗?我似乎无法找到明确的解释。
为什么这个$('td.cellsOfSpecificClass:last', '.table tr')
正确地返回每个tr中的最后一个td而不是整个表中的最后一个td?
答案 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