jquery - 如何根据内部元素的值订购商品?

标签 jquery sorting

我有这个代码:

<div id="main-container">
    <div class="comunicato-item">
        <div class="item item-1">Marco</div>
        <div class="item item-2">3</div>
        <div class="item item-2">2012</div>
    </div>

    <div class="comunicato-item">
        <div class="item item-1">Andrea</div>
        <div class="item item-2">2</div>
        <div class="item item-2">2013</div>
    </div>  

    <div class="comunicato-item">
        <div class="item item-1">Paul</div>
        <div class="item item-2">9</div>
        <div class="item item-2">2003</div>
    </div>  
</div>

由于(例如).item.item-2 元素值,我想订购 comunicato-item 商品。所以排序后的结果应该是:

<div id="main-container">
    <div class="comunicato-item row">
        <div class="item item-1">Andrea</div>
        <div class="item item-2">2</div>
        <div class="item item-2">2013</div>
    </div>  

    <div class="comunicato-item row">
        <div class="item item-1">Marco</div>
        <div class="item item-2">3</div>
        <div class="item item-2">2012</div>
    </div>

    <div class="comunicato-item row">
        <div class="item item-1">Paul</div>
        <div class="item item-2">9</div>
        <div class="item item-2">2003</div>
    </div>  
</div>

用jquery可以吗?尝试过这样的事情:

var a = [];
$(".comunicato-item .item.item-2").each(function(i,e){
    a.push(e);
});
$.each(a.sort(),function(i,e){
    $("#"+e).appendTo('#main-container');
});

但是失败了!有什么想法吗?

最佳答案

你已经很接近了,但是排序方法需要一个函数来评估这个实例中的数组...

var a = [];

$(".comunicato-item").each(function() {
    a.push(this);
});

a.sort(function(x, y) {
    var xval = parseInt($(".item-2:first", x).text(), 10);
    var yval = parseInt($(".item-2:first", y).text(), 10);
    if (xval > yval) return 1;
    else if (xval < yval) return -1;
    else return 0;
});

$.each(a, function() {
    $(this).appendTo('#main-container');
});

关于jquery - 如何根据内部元素的值订购商品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14606680/

相关文章:

javascript - 动画 jQuery 属性不能使用变量?

javascript - 将父类添加到样式标签内的 css

javascript - 在数组中搜索,而不仅仅是唯一值

sorting - 思考 sphinx 在多个字段上排序

javascript - 使用 Array.Sort 而不使用数组中的两个值

javascript - 尝试检测浏览器关闭事件

javascript - 使用类型化插件的 jQuery 文本字符串中的 html 链接

javascript - 这个 JavaScript 数字比较函数实际上是如何工作的?

java - 以 o(n) 或 o(1) 的时间复杂度对整数数组进行排序

javascript - AJAX 仅在首页加载时运行