jQuery xml查找没有特定子节点的节点

时间:2010-02-04 17:00:24

标签: jquery xml find

是否可以找到没有指定子节点的所有节点?

例如:

(XML)

<item>
    <name>item 1</name>
    <admin>true</admin>
</item>

<item>
    <name>item 2</name>
    <admin>true</admin>
</item>

<item>
    <name>item 3</name>
    <parent>item 1</parent>
    <url></url>
    <admin>false</admin>
</item>

我想挑选所有没有子节点“parent”的节点。如果我设置一个名为parent的属性并调用:

,我可以这样做

(适用的jquery)

$(xml).find("item:not([parent])").each

但我想知道这是否可以通过使用子节点来实现。

2 个答案:

答案 0 :(得分:2)

你可能会得到其他好的建议 - 可能只基于选择者 - 但我相信这会有效。

$('item').filter(function() {
    return $(this).find('parent').length === 0;
}).doSomethingWithTheSetOfItemsWithoutParents();

<强>更新

根据selector documentation,我认为这个会做你想做的事情:

$('item:not(:has(parent))')

答案 1 :(得分:0)

你能使用jQuery的原生parent() selector吗?