Javascript 使用Jquery按子项中存在的编号排序父项
如果我有ul li,并且在li中有一个编号,我如何可以按此编号订购所有ul(应先订购较高的编号) 例如,我有我无法更改的htmlJavascript 使用Jquery按子项中存在的编号排序父项,javascript,jquery,html,Javascript,Jquery,Html,如果我有ul li,并且在li中有一个编号,我如何可以按此编号订购所有ul(应先订购较高的编号) 例如,我有我无法更改的html <ul id="ul-list"> <li> <div class="name">product 1</div> <div class="rating">85</div> </li> <li> <
<ul id="ul-list">
<li>
<div class="name">product 1</div>
<div class="rating">85</div>
</li>
<li>
<div class="name">product 2</div>
<div class="rating">20</div>
</li>
<li>
<div class="name">product 3</div>
<div class="rating">95</div>
</li>
</ul>
-
产品1
85
-
产品2
20
-
产品3
95
我想重新排序该列表,这样产品3将是第一个,因为该项具有最高评级,产品2将是最后一个,因为该产品具有最低评级。您可以转换为数组,对该数组进行排序,清空容器,最后添加已排序的元素数组
var sorted=$('#ul list li').toArray().sort(函数(a,b){
var aValue=$(a).find('.rating')[0].textContent;
var bValue=$(b).find('.rating')[0].textContent;
返回bValue-aValue;
});
$('#ul list').empty().append(排序)代码>
-
产品1
85
-
产品2
20
-
产品3
95
您可能想考虑使用<代码> jQuery 添加存储该值的数据属性。然后,您可以在JavaScript
中创建一个函数:
1) 使用jQuery获取此存储的号码
2) 将其添加到数组中
3) 使用方法对数组进行排序,然后
4) 使用jQuery按所需顺序发布结果
如果要在HTML中存储数据,可以这样做:
$("your selector").attr("data-value", your value);
可能对你的html不正确感兴趣。有一些没有内容的
。另外,在构建html时最好进行排序,无论是使用php还是任何其他后端或数据支持。谢谢,这是正确的。当您的答案出现时,我正在为此启动一个Plunker,所以我将您的代码放入了我的Plunker中: