dom节点的innerHTML替代品

a innerHTML alternative for a dom node

本文关键字:替代品 innerHTML 节点 dom      更新时间:2023-09-26
var ele = iframe_container[i];
var iframe_element = document.createElement("IFRAME");

如何使iframe_element成为ele的独子?

我试过appendChildreplaceChild,但两者都是为了不同的目的。正确的做法是什么?

你可以删除所有的孩子,然后添加你的。

while (ele.firstChild) ele.removeChild(ele.firstChild);
ele.appendChild(iframe_element);

你可以这样做

HTML

<div id="something">Has content <span>you don't want</span></div>
Javascript

function emptyNode(node) {
    while (node.firstChild) {
        node.removeChild(node.firstChild);
    }
}
function innerHTML(node, newNode) {
    emptyNode(node);
    node.appendChild(newNode);
}
var ele = document.getElementById("something");
var iframe_element = document.createElement("IFRAME");
innerHTML(ele, iframe_element);
在jsfiddle

注意:@dystroy比我快

最简单快捷的方法是。

ele.innerHTML = ''
ele.appendChild(iframe_element);