使用jQuery从XML获取父节点

时间:2013-01-29 13:43:37

标签: jquery xml ajax

我有一个XML文件

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

我想找到父母的特定元素

我写了这段代码

返回所有父母

$(document).ready(function(){
$.ajax({
    type: "GET",
    url: "test.xml",
    dataType: "xml",
    success: function(xml) {
        $(xml).find('child[value="test"]').parents().each(function(){
            var i = $(this).attr('value');
            alert(i);
        });
    }
});
});

我希望家长到id=2value=Apparel

如果我使用.parents('[value="Apparel"]'),那么它只会返回一个Apparel

的名称

1 个答案:

答案 0 :(得分:1)

您可以使用parentsUntil

$(xml).find('child[value="test"]').parentsUntil('[value="Apparel"]').each( ...

来自文档:

  

获取当前匹配组中每个元素的祖先   元素,最多但不包括选择器匹配的元素,   DOM节点或jQuery对象。