我在$(c)
中获取此xml:
<response name="GetStatistics"><chart chart_num="0">500</chart><chart chart_num="1">1000</chart></response>
我试图获得图表的价值。
我试过了:
var val = $(c).find('command[chart_num='+j+']').text();
alert ('command[chart_num='+j+'] ' + val);
但是在警报中我根本没有获得val
的价值。
这里有什么问题?
答案 0 :(得分:1)
您想使用attribute selector。
类似于:
var val = $(c).find('chart[char_num=' + j + ']').text();
修改强>
抱歉,您使用的是属性选择器。问题是将命令切换到图表,如问题评论中所述。
答案 1 :(得分:0)
首先,使用 jQuery的 parseXML()函数来获取XML文档:
var xml = "<response name='GetStatistics'>"
+ "<chart chart_num='0'>500</chart>"
+ "<chart chart_num='1'>1000</chart>"
+ "</response>";
var xmlDoc = $.parseXML(xml);
var $xml = $(xmlDoc);
然后,使用Attribute Equals Selector按chart
属性选择chart_num
元素:
var j = 1;
var chartNumValue = $xml.find('chart[chart_num=' + j + ']').text();
// chartNumValue = 1000
此外,您可能会发现obtain an array所有chart_num
属性值都很有用:
var $charts = $xml.find('chart');
var chartNums = $.map($charts, function(el) {
return $(el).attr("chart_num");
});