我需要在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") );
});
});
}
我得到了未定义,我做错了什么?
答案 0 :(得分:7)
.each
回调的第一个参数是索引,第二个参数是值。您也可以使用this
:
$result.find('MT').each(function() {
console.log($(this).attr("V") );
});
或者:
$result.find('MT').each(function( index, _mt ) {
console.log($(_mt).attr("V") );
});
答案 1 :(得分: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") );
});
});
}