2014-09-18 3 views
0

Я пытаюсь удалить все элементы DIV, а только держа одну, чтобы показать http://jsfiddle.net/m5pt4kxa/JQuery удалить все DIV, но 1 не работает

я попробовал все из них, но ни один работы, они снимают все и не показывают #mfloverview

$('#body_home div:not(#mfloverview)').remove(); 
$('#body_home div').not('#mfloverview').remove(); 
$('div').not('#mfloverview').remove(); 

Вот HTML

<body id="body_home"> 
    <div id="home" class="pagebody"> 
    <div></div> 
    <div></div> 
    <div></div> 
    <div id="mfloverview"></div> 
    </div> 
</div> 
+2

'# myfloverview' является дочерним основной сНу' # дома '. Он удалит все внутри родителя. –

+0

$ ("div> *: not (#mfloverview)"). Remove(); Это сработало – MShack

ответ

2

Ваш выбор выбрать все div элементы, которые не имеют #mfloverview. Это включает #home. Ваш код удаляет этот элемент и все внутри и заканчивается.

Сделайте свой выбор немного более конкретно:

$('#body_home #home div').not('#mfloverview').remove(); 

Так выбранные <div> элементы должны быть потомком #home, который должен быть потомком #body_home

JSFiddle

0

На самом деле, когда вы target all divs, кроме #mfloverview, вы нацеливаете его родительские divs, и в каком случае он также должен быть удален как его дочерний элемент в нем.

Попробуйте удалить div внутри #home, но не #mfloverview, как показано ниже.

$('#home div').not('#mfloverview').remove();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 

 
<div id="body_home"> 
 
    <div id="home" class="pagebody"> 
 
    <div>s</div> 
 
    <div>d</div> 
 
    <div>f</div> 
 
    <div id="mfloverview">g</div> 
 
    </div> 
 
</div>

0
$("#body_home div").not(document.getElementByid('mfloverview')).remove() 
+0

Сначала попробуйте прокомментировать, почему вы отвечаете, поможет OP, а второй не смешивает JQuery и Javascript, иногда OP может получить Confuse. –

0

Попробуйте

$('#home').find(":not(#mfloverview)").remove(); 

или

$('div').find(":not(#mfloverview)").remove(); 
Смежные вопросы