我想通过使用match从类名称中提取数字来重新排列列表顺序(我从这篇文章改编了代码),但这是行不通的。这是我的代码:
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链接
该class
是对a
里面的元素li
,所以你需要使用的使用.find()
,以获得anchor
元素,并找到它的类
$(document).ready(function () {
$("ul").append($("li").get().sort(function (a, b) {
return $(a).find('a').attr('class').match(/\d+/) - $(b).find('a').attr('class').match(/\d+/)
}));
});
演示:小提琴
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句