有类似的功能document.getElementById("FirstDiv").clear()
吗?
Answers:
要回答最初的问题-有多种方法可以做到这一点,但以下是最简单的方法。
如果您已经有要删除的子节点的句柄,即您有一个包含对它的引用的JavaScript变量:
myChildNode.parentNode.removeChild(myChildNode);
显然,如果您不使用已经在执行此操作的众多库之一,则可能需要创建一个函数来抽象出这一点:
function removeElement(node) {
node.parentNode.removeChild(node);
}
编辑:正如其他人提到的那样:如果您有任何事件处理程序连接到要删除的节点,您将要确保在最后一个对要删除的节点的引用超出范围之前断开它们的连接,以免执行不佳JavaScript解释器泄漏内存。
jQuery解决方案
的HTML
<select id="foo">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
Java脚本
// remove child "option" element with a "value" attribute equal to "2"
$("#foo > option[value='2']").remove();
// remove all child "option" elements
$("#foo > option").remove();
参考文献:
选择具有指定属性且其值完全等于某个特定值的元素。
选择“父”指定的元素的“子”指定的所有直接子元素
与.empty()相似,.remove()方法将元素移出DOM。当我们想要删除元素本身以及其中的所有内容时,我们使用.remove()。除了元素本身之外,还删除了所有与元素相关联的绑定事件和jQuery数据。
使用以下代码:
//for Internet Explorer
document.getElementById("FirstDiv").removeNode(true);
//for other browsers
var fDiv = document.getElementById("FirstDiv");
fDiv.removeChild(fDiv.childNodes[0]); //first check on which node your required node exists, if it is on [0] use this, otherwise use where it exists.
var p=document.getElementById('childId').parentNode;
var c=document.getElementById('childId');
p.removeChild(c);
alert('Deleted');
p是父节点,c是子节点
parentNode是包含父引用的JavaScript变量,
易于理解
您可能应该使用JavaScript库执行此类操作。
例如,MochiKit具有功能removeElement,而jQuery具有remove。
node.remove();
是实现此目的的现代方法。document.getElementById("FirstDiv").remove();
您的用例