0

次の例の XML を jquery で解析して、属性「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") );
    });
});

}

私は undefined を取得します。何が間違っていますか?

4

2 に答える 2

7

.eachcallbackの最初の引数はインデックスで、2 番目の引数は値です。次のものも使用できます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。最初のパラメーターはインデックスであるため、それぞれに2つのパラメーターを渡し、2番目のパラメーターを使用して要素を取得します。

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 に答える