使用jQuery在ul之前的最后两个元素之前插入li

时间:2013-11-12 12:44:27

标签: jquery

我有以下ul列表,我尝试在最后两个元素之前插入一个元素。

这将动态地并且总是在最后两个之前添加它们。

<ul id="myList">
   <li id="first">first</li>
   <li id="second">second</li>       

   <li id="beforeLast">before last</li>
   <li id="last">last</li>
</ul>

如何在li li

之前插入新的beforeLast

P.S。

这是我尝试过的:

$('<li>test</li>').prependTo($('#myList li:last-child').prev('li'));

3 个答案:

答案 0 :(得分:8)

使用:nth-last-child()

$('#myList').find(' > li:nth-last-child(2)').before('<li>New</li>');

这样就会选择“前一个”元素。使用.before()添加所选元素之前的新元素。

<强> jsFiddle

答案 1 :(得分:2)

您可以使用.insertBefore()执行此操作,例如:

$("<li id='newList'>New Li</li>").insertBefore("#beforeLast");

Fiddle Demo

答案 2 :(得分:1)

您可以使用jQuery中的("<li></li>").insertBefore($("#beforelast"))功能