私はこれを持っています:
<ul id="pickme">
<li>1</li>
<li>2</li>
<li>3
<ul>
<li>3-1</li>
</ul>
</li>
</ul>
しかし、これが欲しい:
<ul id="pickme">
<li>1</li>
<li>2</li>
<li>3</li>
<li class="new_ul">
<ul>
<li>3-1</li>
</ul>
</li>
</ul>
言い換えれば、私は挿入する必要があります
</li><li class="new_ul">
リストの 3 の後。私は .append と .prepend で遊んだことがありますが、適切な場所に挿入することができませんでした。
どんな助けでもいただければ幸いです
Br. アンダース
下に正解があります。それを使用すると、1 つのレベルのみを実行します。ただし、同じ例は、複数のレベルを実行できます。('>li>ul') を ('ul') に変更するだけで、ネストされたすべての ul が検出され、処理されます。完全!
(ネストされた ul の無限のレベルを実行します)
$('#pickme').find('ul').each(function() {
$(this).wrap('<li class="new_ul"></li>').parent().insertAfter($(this).parent().parent());
});
この場合、次のようになります。
<ul id="pickme">
<li>1</li>
<li>2</li>
<li>3
<ul>
<li>3-1
<ul>
<li>3-1-1</li>
</ul>
</li>
</ul>
</li>
</ul>
次のようになります。
<ul id="pickme">
<li>1</li>
<li>2</li>
<li>3</li>
<li class="new_ul"> <<new li
<ul>
<li>3-1</li>
<li class="new_ul"> <<new li
<ul>
<li>3-1-1</li>
</ul>
</li>
</ul>
</li>
</li>
</ul>