插入列表元素

时间:2012-12-08 16:53:49

标签: jquery

我有一个像这样的列表元素:

<ul id="myList">
   <li>First</li>
   <li>Second</li>
   <li>Third</li>

我想在<li>Ex</li>之前插入<li>Third>/li>的元素。到目前为止,我一直在尝试的所有内容都将<li>Ex</li>作为<li>Second</li>的孩子插入。我使用了以下jquery方法:

insertAfter(),before(),after(),appendTo()......他们都做了同样的事情。这就是它的样子:

<ul id="myList">
   <li>First</li>
   <li>Second
       <li>Ex</li>
   </li>
   <li>Third</li>

但我希望这样:

<ul id="myList">
   <li>First</li>
   <li>Second</li>
   <li>Ex</li>
   <li>Third</li>

有关如何解决此问题的任何建议?任何指针都表示赞赏。

2 个答案:

答案 0 :(得分:7)

你可以通过

来做到这一点
 $('<li>Ex</li>').insertAfter('li:eq(<give childnumber here>)')

您要在<li>Second</li>之后插入而不是使用eq(1)

<子> <子> <子> jsFiddle

答案 1 :(得分:1)

​$('li', '#myList')​​​.filter(function() {
     return $.trim($(this).text()) == 'Third';
})​.before($('<li />', {text: 'EX'}))​​​

FIDDLE

或索引始终相同:

$('li', '#myList').eq(2).before($('<li />', {text: 'EX'}))​​​;

FIDDLE