javascript - 无法删除具有特定类的元素的所有子元素

标签 javascript html

所以,我试图删除一个元素的所有子元素,比如说具有 aurl 类的 wrapper ,并编写了这段代码

document.addEventListener("DOMContentLoaded", function (){
	document.getElementById("reload").addEventListener("click", function (){
		var w = document.getElementById("wrapper");
		for(var i=0; i<w.children.length; i++){
			if(w.children[i].classList.contains("aurl")){
				w.removeChild(w.children[i]);
			}
		}
	});
});
<div id="wrapper">
			<div id="reload">
			<span>Reload</span>
			</div>
			<div class="aurl" id="one">
			One
			</div>
			<div class="aurl" id="two">
			Two
			</div>
			<div class="aurl" id="three">
			Three
			</div>
			<div class="aurl" id="four">
			Four
			</div>
			<div class="aurl" id="five">
			Five
			</div>
			<div class="aurl" id="six">
			Six
			</div>
		</div>

当我单击重新加载按钮时,仅删除一个、三个、五个元素,其余元素不会被删除。 这是我在调试代码后的观察结果,因为 ei=4 值是 undefined 并且它每次都会获取替代元素,例如一、三、五删除。

最佳答案

尝试反向运行for循环,因为children.length减小了。

document.addEventListener("DOMContentLoaded", function (){
	document.getElementById("reload").addEventListener("click", function (){
		var w = document.getElementById("wrapper");
		for(var i=w.children.length-1; i>=0; i--){
			if(w.children[i].classList.contains("aurl")){
				w.removeChild(w.children[i]);
			}
		}
	});
});
<div id="wrapper">
			<div id="reload">
			<span>Reload</span>
			</div>
			<div class="aurl" id="one">
			One
			</div>
			<div class="aurl" id="two">
			Two
			</div>
			<div class="aurl" id="three">
			Three
			</div>
			<div class="aurl" id="four">
			Four
			</div>
			<div class="aurl" id="five">
			Five
			</div>
			<div class="aurl" id="six">
			Six
			</div>
		</div>

关于javascript - 无法删除具有特定类的元素的所有子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45365533/

相关文章:

javascript - 如果 D3.js 树形图的子级具有相同的值,则连接它们

javascript - 带有预填充评论的 Facebook Like 按钮

javascript - 脚本字符串不被 trim

html - <fieldset> 样式不起作用

javascript - 突出显示最小化浏览器窗口

javascript 删除所有数组位置中的 JSON 键但保留子键

java - 如何检测客户端机器是否已经安装了JRE版本?

html - SASS 仅从根扩展

javascript - 如果 URL 更改,则重定向页面返回

javascript - 如何使用 JavaScript 更改 div 类名的一部分