
文本:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<script>
window.onload=function () {
var obutton=document.getElementById('button1');
var oUl=document.getElementById('ul1');
obutton.onclick=function () {
var oLi=oUl.getElementsByTagName('li');
var aLi=[];
for(var i=0; i<oLi.length; i++){ // 列表里面的内容不能直接排序,相当于元素集合
aLi[i]=oLi[i]; // 列表转换为数组
}
aLi.sort(function (li1, li2) { // js中的 arr.sort(function(a, b)
var a= parseInt(li1.innerHTML); // 注意此处是parseInt(li1.innerHTML) 而不是parseInt(li1)
var b=parseInt(li2.innerHTML);
return a-b; // 升序:return a-b 降序:return b-a
});
for(var i=0; i<aLi.length; i++){ // 转换回去
alert('这次把'+ aLi[i].innerHTML + '插入最后'); // 冒泡排序
oUl.appendChild(aLi[i]);
}
}
};
</script>
<body>
<input id="button1" type="button" value="排序"/>
<ul id="ul1">
<li>83</li>
<li>14</li>
<li>59</li>
<li>26</li>
</ul>
</body>
</html>
本文详细解析了一段使用JavaScript实现的列表排序代码,通过将HTML列表转换为数组,利用sort()函数进行数值排序,并最终将排序后的数组重新插入HTML列表中。文章深入探讨了排序算法的实现细节,包括如何正确获取列表项的数值、比较函数的定义以及排序后的元素如何重新插入到DOM中。
940

被折叠的 条评论
为什么被折叠?



