我需要按字母順序排序列表項。列表項包含無法更改的html。所以我只需要對「可見」部分進行排序。使用jquery對列表中的內容進行排序
這是腳本我有:
$('.box').each(function(){
var labels = []
var sortedlis = [];
var lis = $(this).find('li');
$(this).find('li').each(function(){
labels.push($(this).find('label').text());
});
labels.sort();
console.log(labels);
for (i=0; i< lis.length; i++){
console.log('start loop 1');
for (ind = 0; ind< labels.length; ind++){
console.log('start loop 2');
if (lis[i].textContent == labels[ind]){
sortedlis[ind] = lis[i];
// console.log(ind + ' sorted lis ind');
console.log(i +' true ' + lis[i].textContent + ' ind= '+ind);
}else{
console.log(i + ' false');
}
}
}
console.log(sortedlis);
for(index = 0; index < sortedlis.length; index++){
//lis[index].css('background', 'red');
lis[index].innerHTML = sortedlis[index].innerHTML;
}
});
我已經做出了jsFiddle。我無法理清腳本爲什麼不起作用......任何人都可以指出我在代碼中的錯誤嗎?
不尋找一個簡單的方法:-D感謝您的解釋! –