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