[英]Remove all child nodes
如何使用Dojo或纯JavaScript从<div id="test"></div>
删除所有子节点?
虽然使用el.innerHTML =“”很有吸引力,但通常这种方法有效,但更正确的方法是:
var el = document.getElementById('test');
while( el.hasChildNodes() ){
el.removeChild(el.lastChild);
}
这是因为IE真的讨厌使用innerHTML进行表操作(这在MSDN的某处记录)。
编辑:找到MSDN参考: http : //msdn.microsoft.com/en-us/library/ms532998%28v=vs.85%29.aspx#TOM_Create
dojo.empty(node)
将在保留节点的同时从节点中删除所有子节点。
dojo.destroy(node)
将从dojo.destroy(node)
删除所有子节点,然后从其父节点中删除该节点。
这是你需要的:
dojo.empty("someId");
document.getElementById('yourDivID').innerHTML="";
您可以使用W3C DOM属性textContent替代Microsoft非标准innerHTML / innerText,它是DOM3的一部分,并且自版本9以来所有主要浏览器(包括Internet Explorer)都支持http://www.w3schools.com/jsref/prop_node_textcontent的.asp
更新:innerHTML / innerText现在是HTML5标准的一部分
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.