2013-10-13 3 views
-1

У меня есть Div структуру, как показано ниже,Как удалить дочерний элемент от родителя, не влияя на DOM

<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");

Как я удалить» .child "ДИВ от„Эля“переменного без влияния на DOM, так что

я могу запросить как $(".div1", ele), который не будет возвращать два .div1

Примечания:

выше простой пример образец, но в моем проекте я очень огромное количество DIV как див1

Так я хочу сделать операцию, как показано ниже,

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); 
}); 

Пожалуйста, дайте мне Кратчайшие решение.

ответ

0

Если вы измените селектор ele.children('.div1') вы получите только первый .div1, который является прямым потомком .parent

Однако, так как то, что вы на самом деле просили было, как удалить элементы из селектора, не изменяя РОМ ответа является .not()

0

вы не можете сделать это .... вам нужно точно настроить селектор

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

Демо: Fiddle

или

ele.children('.div1') 

Демо: Fiddle

+1

или '$ ("> .div1", Эле);' –

+0

Спасибо, на самом деле я хочу найти DIV, который находится внутри .parent, а не внутри (.parent .child) – sathishkumar

+0

@sathishkumar это то, что выше даст вам ... вы проверили скрипки –

Смежные вопросы