如何从父项中删除子元素而不影响DOM

时间:2013-10-13 06:59:23

标签: jquery

我有下面的div结构,

<div class="parent">
<div class="div1"></div>
<div class="div2"></div>
<div class="div3"></div>
<div class="div4"></div>

<div class="child">
<div class="div1"></div>
<div class="div2"></div>
<div class="div3"></div>
<div class="div4"></div>
</div>

</div>

我按var ele = $(".parent");

选择了父母

如何在不影响DOM的情况下从“ele”变量中删除“.child”div,以便

我可以查询$(".div1", ele),它不会返回两个.div1

注意:

以上是一个简单的示例示例,但在我的项目中,我有非常大量的div,如div1

所以我想做下面的操作,

var ele = $(".parent");
ele.each(function(){
         var g = $(this);
      var val1 = $(".div1", g);
      var val1 = $(".div2", g);
      var val1 = $(".div3", g);
      var val1 = $(".div4", g);
});

请给我最短的解决方案。

2 个答案:

答案 0 :(得分:0)

如果您将选择器更改为ele.children('.div1'),则只能获得.div1

的直接后代的第一个.parent

然而,由于您实际要求的是如何在不更改dom的情况下从选择器中删除元素,答案是.not()

答案 1 :(得分:0)

你不能这样做......你需要微调你的选择器

$(".div1:not(.child .div1)", ele)

演示:Fiddle

ele.children('.div1')

演示:Fiddle

相关问题