使用jquery对页面上的div元素进行排序

时间:2016-02-04 16:18:52

标签: javascript jquery html

我正在使用此问题的代码sort div elements in a variable。它完美地工作,但不是将div元素存储在我需要在页面上对它们进行排序的变量中。

div元素将包含一个长菜单,因此想要在页面上而不是在变量中对div进行排序。

1 个答案:

答案 0 :(得分:1)

因此,对于代码而不是使用变量,请使用jQuery选择器。

排序的基本思路



$("li").sort( function (a,b) { 
  return $(a).text() > $(b).text();
}).appendTo("ul");

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li>C</li>
  <li>A</li>
  <li>B</li>
</ul>
&#13;
&#13;
&#13;

使用div

&#13;
&#13;
$(".wrapper div").sort( function (a,b) { 
  return $(a).text() > $(b).text();
}).appendTo(".wrapper");
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="wrapper">
  <div>C</div>
  <div>A</div>
  <div>B</div>
</div>
&#13;
&#13;
&#13;

和indexOf with ids ...

&#13;
&#13;
var sortOrder = "Train,Car,Bus";

$(".wrapper div").sort( function (a,b) { 
  return sortOrder.indexOf(a.id) > sortOrder.indexOf(b.id);
}).appendTo(".wrapper");
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="wrapper">
  <div id="Car">C</div>
  <div id="Bus">A</div>
  <div id="Train">B</div>
</div>
&#13;
&#13;
&#13;