0

私は次のようなxmlファイルを持っています

<?xml version="1.0" encoding="ISO-8859-1"?>
<childrens>
<child entity_id="1" value="Root Catalog" parent_id="0">
<child entity_id="2" value="Apparel" parent_id="1">
    <child entity_id="4" value="Shirts" parent_id="2"/>
    <child entity_id="5" value="Pants" parent_id="2"/>
</child>
<child entity_id="3" value="Accessories" parent_id="1">
    <child entity_id="6" value="Handbags" parent_id="3"/>
    <child entity_id="7" value="Jewelry" parent_id="3"/>
</child>
</child>
</childrens>

nはparent_id=2でデータを取得しようとしましたnはこのjqueryコードを記述しました

$(document).ready(function(){
        $.ajax({
            type: "GET",
            url: "test.xml",
            dataType: "xml",
            success: function(xml) {
                $(xml).find('child').attr('[parent_id=3]').each(function(){
                    var id = $(this).attr('entity_id');
                    alert(id);

                });
            }
        });
    });

しかし、それは機能していません

削除する.attr('[parent_id=3]')と、各IDがアラートになります

4

1 に答える 1

1

の使い方を間違えると、使用attrした方法でattr('[parent_id=3]')属性が検索されname=[parent_id=3]、要素にそのような属性がある場合は、文字列値がそれぞれで使用されますが、ここでは必要ないと思われます。

ライブデモ

変化する

$(xml).find('child').attr('[parent_id=3]').each(function(){

$(xml).find('child[parent_id=3]').each(function(){
于 2013-01-24T10:58:09.047 に答える