假设有一个包含许多元素的父ID,我想删除除一个之外的所有元素。
的离。 : 的
<div id = "parent_id">
<div id = "id_1">
<div id = "id_11"> </div>
<div id = "id_11"> </div>
</div>
<div id = "id_2"> </div>
<div id = "id_n"> </div> // No need to remove this id_n only
</div>
因为我可以删除像这个document.getElementId('parent_id').innerHTML = '';
的innerHTML,但我不需要删除id_n
。有什么办法可以使用javascript或jQuery。
答案 0 :(得分:7)
$("#parent_id").children(":not(#id_n)").remove();
答案 1 :(得分:2)
$("#parent_id > :not(#id_n)").remove();
答案 2 :(得分:2)
答案 3 :(得分:2)
为了好玩,POJS是一个更多的代码,但没有jQuery: - )
var p = document.getElementById('parent_id');
var d = document.getElementById('id_n');
p.innerHTML = '';
p.appendChild(d);
很多faster too。 ; - )
答案 4 :(得分:1)
使用jQuery删除id_n以外的所有子节点:
$('#parent_id div').not('#id_n').remove();
如果您要删除parent_id:
$('#id_n').insertAfter('#parent_id');
$('#parent_id').remove();
答案 5 :(得分:1)
不需要 jQuery:
const parent = document.querySelector('#parent_id');
const keepElem = document.querySelector('#id_n');
[...parent.children]
.forEach(child => child !== keepElem ? parent.removeChild(child) : null);