HTMLでマルチリストレベルの外部レベルのみを並べ替える簡単な方法はありますか?(リストの内部レベルを並べ替えることは重要ではありません)可能であれば、javascriptコードだけで、jQueryは使用したことがないので使用しません。
例:並べ替える前
リストZ
- キャティ
- デラ
リストG
- テスト
- 狐
リストR
- ABC
- AAC
ソート後:
リストG
- テスト
- 狐
リストR
- ABC
- AAC
リストZ
- キャティ
- デラ
よろしくお願いしますマイク
以下に回答したJqueryメソッドを使用した後、「オブジェクトはこのプロパティまたはメソッドをサポートしていませんか?」というエラーが発生しました。
更新:ここにコードサンプルがあります:
<head>
<script LANGUAGE="JavaScript" SRC="./js/jquery-1.7.2.js"></SCRIPT>
<script type="text/javascript">
function sortDesc()
{
$('ul.list > li').sortElements(function(a, b){
return $(a).text() > $(b).text() ? 1 : -1;});
}
</script>
</head>
<body>
<div id="container">
<div id="main">
<div class="c1">
<div id="example-list">
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr>
<td align="middle" align="center" title='sort' style="cursor:pointer" valign="middle" align="center" style="width:20px; height:20px;">
<img border="0" src="./js/r_oinfo.gif" width="20" height="20" onclick="sortDesc()">
</td>
</table>
<ul class="list">
<li>
Search
</li>
<ul>
<li>
se 1
</li>
<li>
se 2
</li>
<li>
se 0
</li>
</ul>
<li>
Sort
</li>
<ul>
<li>
so 1
</li>
<li>
so 0
</li>
</ul>
<li>
Filter
</li>
</ul>
</div>
</div>
</div>
</div>
</body>
</html>