[英]Sort navigation menu in jquery
我想用jQuery对导航菜单进行排序。 导航菜单的结构是
<ul class="menu">
<li class="item">
<a class="link">one</a>
</li>
<li class="item">
<a class="link">two</a>
</li>
<li class="item">
<a class="link">three</a>
</li>
<li class="item">
<a class="link">four</a>
</li>
<ul>
我要排序的内部HTML的基础上, a
标签。 jquery中有默认的sort
功能。 但它只对字符串进行排序。 我如何排序菜单
var items = $('.menu li').get();
items.sort(function(a,b){
var keyA = $(a).find('a').text();
var keyB = $(b).find('a').text();
if (keyA < keyB) return -1;
if (keyA > keyB) return 1;
return 0;
});
var ul = $('.menu');
ul.empty();
$.each(items, function(i, li){
ul.append(li);
});
var sortedList = jQuery('.menu > li').sort(function (a, b) {
return (a.children[0].innerHTML > b.children[0].innerHTML) ? 1 : -1;
});
jQuery('.menu').html(sortedList);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.