我有递归HTML,我知道最外层DIV的ID。在下面的HTML我想选择所有DIV与类“citem”期望内部“弹出”里面的“citem”
<div id="pop1" class="Popup">
<div class="container">
<div class="citem">child item-1</div>
<div class="Popup">
<div class="container">
<div class="citem">child inner item-1</div>
</div>
</div>
<div>
<div class="citem">child item-2</div>
</div>
</div>
</div>
<script type="text/javascript">
if (typeof $ != "undefined") {
$(function () {
var Parent = $("#pop1");
var Container = $(Parent.find(".container:first"));
Container.find(".citem").not(".Popup .citem").each(function () {
alert($(this).html());
});
});
}
</script>
使用上面的代码没有选择任何项目,但我希望输出为“子项目-1”和“子项目-2”。
任何想法,如何为此编写查询。我不想选择所有项目,然后检查谁是父母等。
答案 0 :(得分:1)
&gt;选择器只会捕获第一级孩子。
jQuery('.container > .citem')
除非他的父级具有类.container。
,否则不会与具有.citem类的项匹配答案 1 :(得分:0)
您的主要父元素有一个"Popup"
类,它会取消所有citem
<div id="pop1" class="Popup">
所以
Container.find(".citem").not(".Popup .Popup .citem").each(function () {
应该有效