0

我需要在 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") );
    });
});

}

我得到未定义,我做错了什么?

4

2 回答 2

7

callback的第一个参数.each是索引,第二个参数是值。您还可以使用this

$result.find('MT').each(function() {
        console.log($(this).attr("V") );
});

或者:

$result.find('MT').each(function( index, _mt ) {
        console.log($(_mt).attr("V") );
});
于 2012-11-27T15:38:20.693 回答
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") );
      });
   });
}
于 2012-11-27T15:39:48.100 回答