我有一组列表项,我想在页面加载时自动从高到低显示它们。最好使用 jquery 或 javascript。
这是我的代码。
数据.xml
<cd>
<presantage>10%</presantage>
</cd>
<cd>
<presantage>50%</presantage>
</cd>
<cd>
<presantage>5%</presantage>
</cd>
用于显示xml数据
$(document).ready(function(){
$.ajax({
type:"GET",
url:"data.xml",
dataType:"xml",
success:xmlParser2
});
});
function xmlParser2(xml){
xml = $(xml).children();
$(xml).children().each(function () {
let tag = $(this).prop("tagName");
let presantage = '<div>' + $(this).find("presantage").text() + '</div>';
let html = '<li>'+ (presantage)+'</li>';
$(".list").append(html);
});
}
对于订单元素
var ul = $(".list:first");
var arr = $.makeArray(ul.children("li"));
arr.sort(function(a, b) {
var textA = +$(a).text();
var textB = +$(b).text();
if (textA < textB) return -1;
if (textA > textB) return 1;
return 0;
});
ul.empty();
$.each(arr, function() {
ul.append(this);
});
html
<ul class="list"></ul>
最佳答案
试试这个:
function xmlParser2(xml){
var obj = {};
xml = $(xml).children();
$(xml).children().each(function () {
obj[$(this).find("presantage").text().replace('%', '')] = $(this).find("presantage").text();
});
for(var k in obj ){
let html = '<li>'+ (obj[k])+'</li>';
$(".list").append(html);
}
// alert(JSON.stringify(obj))
}
关于javascript - 如何按顺序对 XML 数据进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52872341/