Javascript 根据子元素的值对div进行排序
我想根据Javascript 根据子元素的值对div进行排序,javascript,jquery,sorting,Javascript,Jquery,Sorting,我想根据.score子值的值对.choice\u结果div进行排序。因此,对于我下面的js,分数在100%以内的.choice\u结果应该是第一个div,而不是最后一个。以下是js: <div class="poll poll_answered"> <div class="poll_div"> <h1><strong>Percentages</strong></h1>
.score
子值的值对.choice\u结果
div进行排序。因此,对于我下面的js,分数在100%以内的.choice\u结果应该是第一个div,而不是最后一个。以下是js:
<div class="poll poll_answered">
<div class="poll_div">
<h1><strong>Percentages</strong></h1>
<div class="poll_results" style="display: block;">
<div class="choice_result" data-choice_percent="0">
<p class="choice_result_text">First<p>
<div class="choice_result_width">
</div>
<span class="score">0%</span>
</div>
<div class="choice_result" data-choice_percent="0">
<p class="choice_result_text">Second<p>
<div class="choice_result_width">
</div>
<span class="score">0%</span>
</div>
<div class="choice_result" data-choice_percent="100">
<p class="choice_result_text">Third<p>
<div class="choice_result_width">
</div>
<span class="score">100%</span>
</div>
</div>
</div>
百分比
首先
0%
第二个
0%
第三个
100%
我该怎么做?
$(“.choice\u result”).sort(函数(a,b){
a=parseFloat($(“.score”,a).text());//获取
b=parseFloat($(“.score”,b).text());//获取b中.score元素的值
返回b-a;//向下排序
}).附于(“.投票结果”)代码>
。选择\u结果{
边框:1px纯红;
保证金:5px;
}
百分比
首先
30%
第二个
0%
第三
100%
$(“.choice\u result”).sort(函数(a,b){
a=parseFloat($(“.score”,a).text());//获取
b=parseFloat($(“.score”,b).text());//获取b中.score元素的值
返回b-a;//向下排序
}).附于(“.投票结果”)代码>
。选择\u结果{
边框:1px纯红;
保证金:5px;
}
百分比
首先
30%
第二个
0%
第三
100%
这可能就是您想要的:
$('.poll\u results.sort by score')。每个(函数(){
$(this.html)(
$(this).find('.choice_result').sort(函数(a,b){
让dsa=parseInt($(a).find('.score').eq(0.text()),
dsb=parseInt($(b).find('.score').eq(0.text());
返回值(dsa>dsb?-1:(dsa
$('.poll\u results.sort by score')。每个(函数(){
$(this.html)(
$(this).find('.choice_result').sort(函数(a,b){
让dsa=parseInt($(a).find('.score').eq(0.text()),
dsb=parseInt($(b).find('.score').eq(0.text());
返回值(dsa>dsb?-1:(dsa
百分比
首先
0%
第二个
0%
第三
100%
未排序的百分比
首先
0%
第二个
0%
第三
100%
这可能就是您想要的:
$('.poll\u results.sort by score')。每个(函数(){
$(this.html)(
$(this).find('.choice_result').sort(函数(a,b){
让dsa=parseInt($(a).find('.score').eq(0.text()),
dsb=parseInt($(b).find('.score').eq(0.text());
返回值(dsa>dsb?-1:(dsa
$('.poll\u results.sort by score')。每个(函数(){
$(this.html)(
$(this).find('.choice_result').sort(函数(a,b){
让dsa=parseInt($(a).find('.score').eq(0.text()),
dsb=parseInt($(b).find('.score').eq(0.text());
返回值(dsa>dsb?-1:(dsa
百分比
首先
0%
第二个
0%
第三
100%
未排序的百分比
首先
0%
第二个
0%
第三
100%
您是从api调用填充此内容吗?是否改为在那里对数据进行排序更好?否,这是静态的。您是从api调用填充此内容吗?是否改为在那里对数据进行排序更好?否,这是静态的。fwiw,共享从.sort()返回-1
、0
或1
的建议
call@guest271314它不必是-1
或1
任何负数或正数都可以。您是正确的,将显示fwiw的结果,共享从.sort()返回-1
、0
或1
的建议call@guest271314它不必是-1
或1
任何负数或正数都可以。你说得对,a