我想通過使用匹配(我從這個post改編的代碼)從類名中提取數字來重新排列我的列表順序,但它不起作用。這裏是我的代碼:通過提取類名來重新排序jQuery的列表項
HTML:
<ul class="class-of-ul">
<li><a href="#" class="class-of-li-66">66</a></li>
<li><a href="#" class="class-of-li-69 current-li">69</a></li>
<li><a href="#" class="class-of-li-65" >65</a></li>
<li><a href="#" class="class-of-li-68" >68</a></li>
<li><a href="#" class="class-of-li-67" >67</a></li>
</ul>
的jQuery:
$(document).ready(function() {
$("ul").append($("li").get().sort(function(a, b) {
return parseInt($(a).attr("class").match(/\d+/)) - parseInt($(b).attr("class").match(/\d+/))
}));
});
,這是jsfidle link
謝謝。有用! – webchun
嗨,我已經在我的網站上實現了這一點,但不幸的是,它在控制檯上返回錯誤:Uncaught TypeError:無法調用未定義的方法匹配。對此有何想法? – webchun
@dreamexploded這意味着'.attr('class')'是未定義的,你可以添加一個'console.log(a,$(a).find('a')。attr('class')); console.log(b,$(b).find('a')。attr('class'))'看看發生了什麼 –