是否可以找到没有指定子节点的所有节点?
例如:
(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
但我想知道这是否可以通过使用子节点来实现。
答案 0 :(得分:2)
你可能会得到其他好的建议 - 可能只基于选择者 - 但我相信这会有效。
$('item').filter(function() {
return $(this).find('parent').length === 0;
}).doSomethingWithTheSetOfItemsWithoutParents();
<强>更新强>
根据selector documentation,我认为这个会做你想做的事情:
$('item:not(:has(parent))')
答案 1 :(得分:0)
你能使用jQuery的原生parent() selector吗?