2

私はこのようなリスト要素を持っています:

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

<li>Ex</li>beforeの要素を挿入したい<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>

これを修正する方法について何か提案はありますか?どんなポインタでも大歓迎です。

4

2 に答える 2

7

あなたはこれを行うことができます

 $('<li>Ex</li>').insertAfter('li:eq(<give childnumber here>)')

<li>Second</li>使用後はめ込みたいeq(1)

jsFiddle

于 2012-12-08T16:58:13.220 に答える
1
​$('li', '#myList')​​​.filter(function() {
     return $.trim($(this).text()) == 'Third';
})​.before($('<li />', {text: 'EX'}))​​​

フィドル

または、インデックスが常に同じである場合:

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

フィドル

于 2012-12-08T17:07:20.837 に答える