簡體   English   中英

在jquery中排序導航菜單

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM