2011-05-26 51 views
1

这里是我的HTML:jQuery:追加最后一个?

<ol> 
    <li>Item 1</li> 
    <li>Item 2</li> 
    <li>Item 3</li> 
</ol> 

然后我追加一个新项目本:$('ol').append('<li>New item</li>');

但是,我想要做的,是最后一个项目之前追加新的。所以在这个例子中,新的列表项将被放置在第二个和第三个之间。列表中的项目数量可能少至2个,也可能多达数百个,但应始终在最后一个项目之前插入。

回答

13

对于这一点,你必须选择最后一个列表项,然后告诉jQuery来添加新的选择的一个前:

$('ol li:last').before('<li>New item</li>'); 
2
$('ol').last().prev().append('<li>New item</li>'); 

应该工作我bel ieve。

或者的确,上述&我下面的人说看起来有点整洁:)

+0

这就是有点回旋 – Neal 2011-05-26 20:09:43

+0

图,后我看到其他意见:)我习惯于非常明确,而编码。 – Licargon 2011-05-26 20:10:20

0

我遇到了麻烦,这个时候最后一个列表项有一个特殊的班级。我需要做到这一点:

<ul id="my_ul"> 
    <li>One</li> 
    <li>Two</li> 
    <li class="last_class">Always Last</li> 
</ul> 

$('#my_ul li.last_class').before('<li>New Item</li>');