使用LT Selector Jquery最后一个元素

时间:2012-05-26 21:34:25

标签: jquery

我试图使用这行Jquery代码来折叠除最后一个元素之外的所有元素:

$(".message_list .message_body:lt(:last-child)").hide();

这条线没有任何崩溃。我试过了:

':last child'
:last-child
last()
:last
':last'

但没有什么能给我最后一个元素。如何选择少于最后一个元素的每个元素?什么在lt()?

4 个答案:

答案 0 :(得分:1)

试试这个:

$(".message_list .message_body:not(:last-child)").hide();

或者,根据HTML的结构,您可能需要:last

$(".message_list .message_body:not(:last)").hide();

答案 1 :(得分:1)

:lt将从零开始的索引作为参数,而不是选择器。如果必须使用:lt

var items = $('.message_list .message_body');
var lastItem = $('.message_list .message_body:last');
var index = items.index(lastItem);

$(".message_list .message_body:lt(" + index + ")").hide();

否则,请使用@Rory的答案。

答案 2 :(得分:0)

$(".message_list .message_body:not(:last)").hide();    

工作样本:http://jsfiddle.net/WnCeH/2/

答案 3 :(得分:0)

以下是您可以使用的示例小提琴,可能有助于构建一种解决问题的方法:http://jsfiddle.net/T5ZVE/

它使用。not:last