リスト項目をアルファベット順にソートする必要があります。リスト項目には変更できないhtmlが含まれています。ですから、私は "目に見える"部分をソートするだけです。私はjsFiddleをした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;
}
});
:
これは私が持っているスクリプトです。私はスクリプトがうまくいかない理由を整理することはできません...誰かが私のコードで間違いを指摘できますか?
簡単な方法を探していない:--D説明のおかげで! –