2015.7.16-js-14(排序)
排序的思路:1.先for循环li得到元素集合,放到一个新建的数组里。
2.编写数组.sort()的排序规则。
3.for循环数组appendChild到当前的父级下。
4.li只是元素集合,不是真正的数组Array类型,只是与数组类拟;但可以建一个数组,将li元素集合放到数组中,然后用sort排序。
var oUl = document.getElementById("nav"); var oBtn = document.getElementById("btn"); var aLi = oUl.getElementsByTagName("li"); oBtn.onclick = function(){ var arr = []; //新建一个空数组 for(var i = 0, len = aLi.length; i < len; i++){ arr[i] = aLi[i]; //存入在数组里后就可以使用.sort()方法排序 } //排序规则 arr.sort(function(li1,li2){ var n1 = parseInt(li1.innerHTML); var n2 = parseInt(li2.innerHTML); return n1 - n2; }); //for循环数组appendChild到当前的父级中 for(var j = 0, len = arr.length; j < len; j++){ alert("该把"+arr[j].innerHTML+"插入到最后"); oUl.appendChild(arr[j]); } }
HTML
<ul id="nav"> <li>2</li> <li>4</li> <li>6</li> <li>1</li> <li>3</li> <li>5</li> <li>7</li> </ul> <input type="button" id="btn" value="排序">

浙公网安备 33010602011771号