【问题标题】:JQuery xml sort by specific node valueJQuery xml按特定节点值排序
【发布时间】:2017-11-04 10:03:36
【问题描述】:

我有一个包含一些数据的 xml 文件,并希望按某个节点值排序。

这就是我所拥有的:

var output = '';

$.ajax({
        url:'file.xml',
        type: 'GET',
        dataType: "xml",
        success: function(result) {
            $(result).find('car').each(function() {
                output += '<div class="block">';
                output += '<b>Marca</b> : '+$(this).find('marca').text()+'<br>';
                output += '<b>Modelo</b> : '+$(this).find('modelo').text()+'<br>';
                output += '<b>Equipamento</b> : ';

                var arr = [];
                $(this).find('equip').children().each(function() {
                    arr.push($(this).text());
                });
                output += arr.join(', ');

                output += '</div>'

            });

            $('body').append(output);
        }
    })

我想按“marca”的值排序。我该怎么做?

这是我的 xml 文件:

<cars>
    <car>
        <marca>Seat</marca>
        <modelo>Ibiza</modelo>
        <equip>
            <equip1>Vidros Electricos</equip1>
            <equip2>Fecho Central</equip2>
            <equip3>Direcção Assistida</equip3>
        </equip>
    </car>
    <car>
        <marca>Volkswagen</marca>
        <modelo>Golf</modelo>
        <equip>
            <equip1>Vidros Electricos</equip1>
            <equip2>Fecho Central</equip2>
            <equip3>Direcção Assistida</equip3>
            <equip4>ABS</equip4>
        </equip>
    </car>
    <car>
        <marca>Honda</marca>
        <modelo>Civic</modelo>
        <equip>
            <equip1>Vidros Electricos</equip1>
            <equip2>Fecho Central</equip2>
            <equip3>Direcção Assistida</equip3>
            <equip4>ABS</equip4>
        </equip>
    </car>
    (...)
</cars>

在这种情况下,顺序应该是 -> Honda -> Seat -> Volkswagen。

Tks 提前。

【问题讨论】:

    标签: javascript jquery xml sorting


    【解决方案1】:

    您可以在 jQuery 集合上使用 sort()

    $(result).find('car').sort(function(a,b){
          return $(a).find('marca').text() > $(b).find('marca').text()
    }).each(function(){
          // output sorted collection
    });
    

    DEMO

    【讨论】:

      猜你喜欢
      • 2023-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多