次の dom 構造を考えると、順序付きリストを順序なしリストに変換したいと思います。
<div class="wrapper">
<ol>
<li><div>foo</div></li>
<ol>
<li><div>bar</div></li>
</ol>
<li><div>batz</div></li>
</ol>
</div>
これを行う最善の方法は何ですか?
次の dom 構造を考えると、順序付きリストを順序なしリストに変換したいと思います。
<div class="wrapper">
<ol>
<li><div>foo</div></li>
<ol>
<li><div>bar</div></li>
</ol>
<li><div>batz</div></li>
</ol>
</div>
これを行う最善の方法は何ですか?
jQueryreplaceWithを使用する必要があります。
内側から外側に作業する必要がありましたが、外側のタグのみを置き換え、内側のタグを置き換えなかったため、replaceWith のみが機能しませんでした。そのため、次のように解決しました。
$($('.wrapper').find('ol').get().reverse()).each(function(){
$(this).replaceWith($('<ul>'+$(this).html()+'</ul>'))
})
誰かがより良い解決策を持っているなら、私はそれを聞いてうれしいです.