排序代码中的错误在哪里? [英] Where is the Error in sorting code

查看:82
本文介绍了排序代码中的错误在哪里?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家请帮助我找不到错误

Hey everybody please help I can't find the error

当我按排序......它一次又一次地排序

when I press sort...it sort again and again forever

html:

html:

<div class="unsorted">
    <div class="labelimagediv" rel="5"> 
      Div 5 here 
    </div> 
    <div class="labelimagediv" rel="3"> 
       Div 3 Here 
    </div> 
     <div class="labelimagediv" rel="4.5"> 
       Div 4.5 here 
    </div>
    <div class="labelimagediv" rel="4">
      Div 4 Here
     </div> </div>
<button class="btnSort">Sort</button>

javascript:

javascript:

$("button.btnSort").click(function () {
    var item1 = $('div.labelimagediv')[0];
    var sortedDivs = $(".unsorted").find(item1).toArray().sort(sorter);
    $.each(sortedDivs, function (index, value) {
        $(".unsorted").append(value);
    });
});

function sorter(a, b) {
    return a.getAttribute('rel') - b.getAttribute('rel');
};


推荐答案

这是因为您正在通过选择第一个元素 $('div.labelimagediv')[0]; ,试试这个:

That's because you are sorting one element by selecting the first element $('div.labelimagediv')[0];, try this:

$("button.btnSort").click(function () {
    $('div.labelimagediv').sort(function(a, b) {
       return a.getAttribute('rel') > b.getAttribute('rel');
    }).appendTo(".unsorted");
});

JsFiddle在这里

JsFiddle fork here

这篇关于排序代码中的错误在哪里?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆