次のようにリストを並べ替えたいと思います。
<ul>
<li>L</li>
<li>S</li>
<li>XXS</li>
<li>XS</li>
<li>XL</li>
<li>L</li>
</ul>
JavascriptとjQueryを使用して、服のサイズの正しい順序を取得しました。私の試みは次のとおりです。
var mylist = jQuery('#filter-size .mana-list');
var listitems = mylist.children('li').get();
listitems.sort(function (a, b) {
var sizes = new Array();
sizes = ["XXXS", "XXS", "XS", "S", "S-M", "S-L", "M", "M-L", "L", "L-XL", "XL", "XXL", "XXXL"];
var compA = jQuery(a).text().toUpperCase();
var compB = jQuery(b).text().toUpperCase();
var asize = jQuery.inArray(compA, sizes);
var bsize = jQuery.inArray(compB, sizes);
return (asize > bsize) ? -1 : (asize < bsize) ? 1 : 0;
})
私の問題は、inArray()関数が常に-1を返すことです。何が間違っているのでしょうか。
(注:私は「競合なし」モードでjQueryを使用しています)
よろしくお願いします