Javascript 如何按顺序对XML数据进行排序?
我有一组列表项,我想在页面加载时从高到低自动显示。理想情况下使用jquery或javascript 这是我的密码 data.xmlJavascript 如何按顺序对XML数据进行排序?,javascript,jquery,html,xml,get,Javascript,Jquery,Html,Xml,Get,我有一组列表项,我想在页面加载时从高到低自动显示。理想情况下使用jquery或javascript 这是我的密码 data.xml <cd> <presantage>10%</presantage> </cd> <cd> <presantage>50%</presantage> </cd> <cd> <presantage>5%</presantage>
<cd>
<presantage>10%</presantage>
</cd>
<cd>
<presantage>50%</presantage>
</cd>
<cd>
<presantage>5%</presantage>
</cd>
10%
50%
5%
用于显示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);
});
}
$(文档).ready(函数(){
$.ajax({
键入:“获取”,
url:“data.xml”,
数据类型:“xml”,
成功:xmlParser2
});
});
函数xmlParser2(xml){
xml=$(xml.children();
$(xml).children().each(函数(){
let tag=$(this.prop(“标记名”);
让presantage=''+$(this).find(“presantage”).text()+'';
设html=''+(优势)+' ';
$(“.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);
});
var ul=$(“.list:first”);
var arr=$.makeArray(ul.children(“li”);
arr.sort(函数(a,b){
var textA=+$(a).text();
var textB=+$(b).text();
如果(textAtextB)返回1;
返回0;
});
ul.empty();
$.each(arr,function(){
ul.附加(本);
});
html
试试这个:
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))
}
函数xmlParser2(xml){
var obj={};
xml=$(xml.children();
$(xml).children().each(函数(){
obj[$(this.find(“presantage”).text().replace('%,'')=$(this.find(“presantage”).text();
});
用于(obj中的var k){
设html=''+(obj[k])+' ';
$(“.list”).append(html);
}
//警报(JSON.stringify(obj))
}
试试这个:
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))
}
函数xmlParser2(xml){
var obj={};
xml=$(xml.children();
$(xml).children().each(函数(){
obj[$(this.find(“presantage”).text().replace('%,'')=$(this.find(“presantage”).text();
});
用于(obj中的var k){
设html=''+(obj[k])+' ';
$(“.list”).append(html);
}
//警报(JSON.stringify(obj))
}
这是一个简单的JS(纯)代码,用于按描述顺序对百分比进行排序
var doc = new DOMParser().parseFromString(xml, "application/xml");
var elements = doc.getElementsByTagName('presantage');
var percentages = [];
for (let i = 0; i < elements.length; i++) {
percentages.push(parseFloat(elements[i].textContent));
}
percentages.sort((a, b) => b - a); // array [50, 10, 5]
var doc=new DOMParser().parseFromString(xml,“application/xml”);
var elements=doc.getElementsByTagName('presantage');
风险值百分比=[];
for(设i=0;ib-a);//数组[50,10,5]
在此之后,您可以对循环百分比进行排序,并创建列表html
注意:如果您需要按升序排序,您可以执行a-b
这是一个简单的JS(纯)代码,可以按desc顺序对百分比进行排序
var doc = new DOMParser().parseFromString(xml, "application/xml");
var elements = doc.getElementsByTagName('presantage');
var percentages = [];
for (let i = 0; i < elements.length; i++) {
percentages.push(parseFloat(elements[i].textContent));
}
percentages.sort((a, b) => b - a); // array [50, 10, 5]
var doc=new DOMParser().parseFromString(xml,“application/xml”);
var elements=doc.getElementsByTagName('presantage');
风险值百分比=[];
for(设i=0;ib-a);//数组[50,10,5]
在此之后,您可以对循环百分比进行排序,并创建列表html
注意:如果需要按升序排序,最好对javascript执行
a-b
presantage
-输入法是javascript的理想选择presantage
-键入我应该把代码放在哪里我应该把代码放在哪里这是如何排序的presantage
s?对象键默认在JS中排序,就像PHP中的数组键一样。我的错。我忽略了replace
call。谢谢+1如何对presantage
s进行排序?默认情况下,对象键在JS中进行排序,就像PHP中的数组键一样。我的坏消息。我忽略了replace
call。谢谢+1.