jQuery:追加到最后?

时间:2011-05-26 20:06:41

标签: jquery jquery-selectors append

这是我的HTML:

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

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

但是,我想做的是在最后一项之前添加新内容。因此,在此示例中,新列表项将放在第二个和第三个之间。列表中的项目数可能只有2或多达数百,但应始终在倒数第二个项目之前插入。

4 个答案:

答案 0 :(得分:13)

为此,您必须选择最后一个列表项,然后告诉jQuery在选择的那个之前添加新的列表项:

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

答案 1 :(得分:2)

这应该可以解决问题

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

<强> Example on jsfiddle

答案 2 :(得分:2)

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

我应该相信。

或者实际上,上面的人是什么?在我下面说看起来有点整洁:)

答案 3 :(得分: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>');