单击排序按钮后,我需要使用 LI
标记的 ID 值对列表进行升序或降序排序。如果是升序,则必须按降序排序,反之亦然。
例如:
<ul id="place-list">
<li id="0">Paris</li>
<li id="1">greece</li>
<li id="2">London</li>
</ul>
我需要在不使用 jQuery-tinysort 中的 tsort
函数的情况下对其进行排序。
我怎样才能做到这一点?
最佳答案
不需要时不要使用 jQuery。
function sortList() {
sortList.direction = sortList.direction ? false : true;
var arr = [], list = document.getElementById('place-list'),
c = list.children, l = c.length, i;
for(i=0; i<l; i++) arr[i] = c[i]; // "convert" NodeList to array
arr.sort(function(a,b) {return a.id < b.id ? -1 : 1;}); //sorting function ends here.
if( !sortList.direction) arr = arr.reverse();
for(i=0; i<l; i++) list.appendChild(arr[i]);
};
关于javascript - 按 id 值对 li 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14542203/