我需要按字母顺序排序列表项。列表项包含无法更改的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感谢您的解释! –