我想有點像這樣的列表:jQuery的inArray()總是返回-1
<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 我做錯了什麼?
(注:我在usign jQuery的 「沒有衝突」 模式)
謝謝大家提前
你可以發佈'console.log(compA)'和'console.log(asize)' – ilanco
'inArray'的輸出並不總是爲我返回'-1' ..什麼版本的jQuery? http://jsfiddle.net/jNnTG/ –
它不是-1 ...看到這裏:http://jsfiddle.net/qjxpX/ –