リンクのリストをアルファベット順に並べ替えたいのですが、これは私のコードです:
!DOCTYPE html>
<html>
<head>
<title>Sort list items alphabetically with Javascript</title>
<script type="text/javascript">
function sortUnorderedList(ul, sortDescending) {
if(typeof ul == "string")
ul = document.getElementById(ul);
var lis = ul.getElementsByTagName("LI");
var vals = [];
for(var i = 0, l = lis.length; i < l; i++)
vals.push(lis[i].innerHTML);
vals.sort();
if(sortDescending)
vals.reverse();
for(var i = 0, l = lis.length; i < l; i++)
lis[i].innerHTML = vals[i];
}
window.onload = function() {
var desc = false;
document.getElementById("test").onclick = function() {
sortUnorderedList("list", desc);
desc = !desc;
return false;
}
}
</script>
</head>
<body>
<div id="test"> <a href="#">Sort List</a></div>
<ul id="list">
<li>Peter</li>
<li>Mary</li>
<li>Paul</li>
<li>Allen</li>
<li>James</li>
<li>Vicki</li>
<li>Brock</li>
<li>Dana</li>
<li>Frank</li>
<li>Gil</li>
<li>Helen</li>
</ul>
</body>
しかし、名前にリンクを追加したい場合、リストがめちゃくちゃになってしまいます (もうアルファベット順ではありません)。何を変更すればよいでしょうか? 私はJavaScriptについてまったく知識がありません。誰かがここで私を助けてくれませんか、ありがとう
<div id="test"> <a href="#">Sort List</a></div>
<ul id="list">
<li><a href="tumblr.com/post/57781372261">Peter</a></li>
<li><a href="tumblr.com/post/57783141055">Mary</a></li>
<li><a href="tumblr.com/post/57781372261">Paul</a></li>
</ul>
リンクが追加されると、投稿は名前ではなく番号でソートされます。