![](/img/trans.png)
[英]How can I parse a document and remove all elements except for one that matches and ID and its children
[英]JS Remove all elements except a specific ID and its children
对此的响应: 如何删除除任何特定ID之外的元素与我想要的接近,但不太理想。
就我而言,我在问如何删除父ID下除id_n及其子元素之外的所有元素:test1和test2。 这些元素需要删除,而不仅仅是隐藏。
<div id = "parent_id">
<div id = "id_1">
<div id = "id_11"> test</div>
<div id = "id_12">test </div>
</div>
<div id = "id_2"> test</div>
<div id = "id_n">id_n<br>
<div id='test1'>test1<br><div>
<div id='test2'>test2<br><div>
</div>
</div>
结果应为:
<div id = "parent_id">
<div id = "id_n">id_n<br>
<div id='test1'>test1<br><div>
<div id='test2'>test2<br><div>
</div>
</div>
感谢您的关注。 感谢您的建议。
好了,考虑了这一点之后,还有另一种使用数组操作的方法:
var parentElement = document.getElementById('#parent_id');
parentElement.innerHtml = [].splice.call(parentElement.children).filter(item, function() {
return item.id === childId;
}).reduce((collatedHtml, item, function() {
return collatedHtml + item.innerHtml;
});
这将获取parentElement的所有直接子级,并在使用Array.Reduce整理所有子级的innerHtml之前返回一个新数组(使用Array.filter )。
注意:我不使用...
前缀转换为数组的原因是因为IE 11及以下版本不支持它
使用jQuery的siblings
您可以删除其所有子项:
$('#id_n').siblings().remove();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.