/ /順不同リストをJavascriptでソート/ jQuery-javascript、jquery、html

Javascript / jQueryで並べ替えられていないリストをソートする - javascript、jquery、html

順不同リストを動的に作成しています。これにより、次のような出力が作成されます。

<ul>
<li>item 1</li>
<li>item 2</li>
<li>item 3</li>
<ul>
<li>Item 3.1</li>
<li>Item 3.2</li>
<li>Item 3.3</li>
</ul>
<li>item 4</li>
<li>Item 5</li>
<ul>
<li>Item 5.1</li>
<li>Item 5.2</li>
<li>Item 5.3</li>
</ul>
<li>item 6</li>
</ul>

サブリスト(アイテム3とアイテム5など)を持つすべてのアイテムがリストの先頭に移動して、次のように出力されるように、作成後に並べ替えることができます。

<ul>
<li>item 3</li>
<ul>
<li>Item 3.1</li>
<li>Item 3.2</li>
<li>Item 3.3</li>
</ul>
<li>Item 5</li>
<ul>
<li>Item 5.1</li>
<li>Item 5.2</li>
<li>Item 5.3</li>
</ul>
<li>item 1</li>
<li>item 2</li>
<li>item 4</li>
<li>item 6</li>
</ul>

私はjQueryまたはjavascript .sort()メソッドでこれを行うことができると考えていますが、どこに行くべきかわかりません。何かアドバイスはありますか?

回答:

回答№1は4

まず、親リスト内にサブリストを配置し、次のようにリストにクラスを指定する必要があります。

<ul class="autoReorder">
<li>item 1</li>
<li>item 2</li>
<li>item 3
<ul>
<li>Item 3.1</li>
<li>Item 3.2</li>
<li>Item 3.3</li>
</ul>
</li>
<li>item 4</li>
<li>Item 5
<ul>
<li>Item 5.1</li>
<li>Item 5.2</li>
<li>Item 5.3</li>
</ul>
</li>
<li>item 6</li>
</ul>

次に、jQueryにあなたのソリューションがあります:

$(document).ready(function(){
$("ul.autoReorder").find("li ul").parent().prependTo("ul.autoReorder");
});