在jQuery上获取最后一个li

时间:2011-08-16 13:02:00

标签: javascript jquery html css line

我们有一个简单的ul

<ul>
   <li>some text</li>
   <li>some some text</li>
   <li>text more</li>
   <li>text here</li>
</ul>

ul { text-align: center; width: 100px; }
li { width: auto; display: inline; }

所以ul可以有几行。我如何li内>每行 <{1>} ?

7 个答案:

答案 0 :(得分:9)

如果在的每一行上的 last li表示每个li中的最后一个ul,则:

$('ul li:last-child');

但是,如果您的意思是在源代码中的几行中写了同一li内的ul,并且您现在想要获取每行的最后一行,那么答案就是你不能。 DOM不关心代码中的换行符。


注意:正确的方法是给那些li个单独的类。

<ul>
    <li></li><li></li><li class="last"></li>
    <li></li><li></li><li class="last"></li>
    <li></li><li></li><li class="last"></li>
</ul>

现在你可以使用CSS

li.last { color: #444 }

和jQuery

$('li.last');

正确的方式......

答案 1 :(得分:1)

请参阅jquery .last()

$('ul li').last().css('background-color', 'red');

答案 2 :(得分:1)

使用:last选择器 - http://api.jquery.com/last-selector/

$("ul li:last");

如果您要查找多个li的最后ul,请尝试以下操作:

var $lasts = $("ul").map(function(){
    return $(this).find("li:last");
});

工作示例:

http://jsfiddle.net/hunter/SBsqS/

答案 3 :(得分:1)

这将返回“ul的每一行上的最后一个li”组

$("ul li:last");

答案 4 :(得分:1)

要使用jQuery获取列表中的最后一项,您只需使用last()方法。

有关详细信息,请参阅此处:http://api.jquery.com/last/

var item = $('#myList li').last()

答案 5 :(得分:0)

var theList = document.getElementById('id_of_my_ul');
var theLastItem = theList.childNodes[theList.childNodes.length - 1];

不知道你将如何在JQuery中做到这一点,但它不可能是那么不同

答案 6 :(得分:0)

尝试使用:last选择器:http://api.jquery.com/last-selector