JS:
function clearSlides(){
var myNode = document.getElementById("modal_content");
while (myNode.firstChild) {
myNode.removeChild(myNode.firstChild);
}
}
这是我删除#modal_content中所有内部元素的函数的代码。但我需要它忽略具有某个类的元素(无论该类可能是什么)。例如,如果我有3个带有.a .b和.c类的元素,我希望它删除除这些元素之外的所有内容。但我无法弄清楚如何做到这一点。
答案 0 :(得分:0)
function clearSlides(){
var myNode = document.getElementById("modal_content");
while (myNode.firstChild) {
myNode.removeChild(myNode.firstChild).not(".Classname .Classname .Classname");
}
}
没试过吗
答案 1 :(得分:0)
使用remove方法而不是空。也可以使用spread运算符将nodelist转换为数组
function clearSlides() {
var myNode = document.getElementById("modal_content");
//use spread operator to convert nodelist to array for using
// array methods
var c = [...myNode.children];
c.forEach(function(item, index) {
console.log(item)
// check if the current element have a class using 'contains'
if (!item.classList.contains('a')) {
//use remove method to remove the element
item.remove();
}
})
}
clearSlides()

<div id="modal_content">
<span class="a"> Have class a</span>
<span> No CLass</span>
</div>
&#13;