【问题标题】:how to parse this xml in jquery to get an attribute?如何在 jquery 中解析这个 xml 以获取属性?
【发布时间】:2012-11-27 15:36:53
【问题描述】:
我需要在 jquery 中解析以下示例 XML,以获取属性“V”
XML 文件:
<RES>
<R N="1">
<MT N="myMeta1" V="myMeta1Value"/>
<MT N="myMeta2" V="myMeta2Value"/>
<MT N="myMeta2" V="myMeta2Value"/>
</R>
</RES>
我的 javascript 如下:
function(data){
$(data).find('R').each(function(){
var $result = $(this);
$result.find('MT').each(function(_mt) {
console.log($(_mt).attr("V") );
});
});
}
我得到未定义,我做错了什么?
【问题讨论】:
标签:
javascript
jquery
xml
parsing
【解决方案1】:
.each 回调的第一个参数是索引,第二个参数是值。你也可以使用this:
$result.find('MT').each(function() {
console.log($(this).attr("V") );
});
或者:
$result.find('MT').each(function( index, _mt ) {
console.log($(_mt).attr("V") );
});
【解决方案2】:
你是using index as an element in each。由于第一个参数是索引,因此在每个参数中传递两个参数并使用第二个参数来获取元素。
function(data){
$(data).find('R').each(function(){
var $result = $(this);
$result.find('MT').each(function(_mt, obj) {
console.log($(obj).attr("V") );
});
});
}