2013-05-27 84 views
1
var ele = iframe_container[i]; 
var iframe_element = document.createElement("IFRAME"); 

我該如何製作 ele的唯一孩子?一個DOM節點的innerHTML替代方案

我試過appendChildreplaceChild但都是爲了不同的目的。什麼是正確的做法?

+0

你的問題不清楚。 –

+0

適當時使用'innerHTML'。在沒有一種方法來清除元素的孩子時,它會得到最好的結果。 – millimoose

+0

另外。 'innerHTML'比DOM操作快得多。 http://www.quirksmode.org/dom/innerhtml.html – Bart

回答

0

最簡單最快捷的方法是。

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

你可以刪除所有的孩子然後添加你的。

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

innerHTML =''with appendchild – aWebDeveloper

+2

使用'ele.innerHTML ='''移除所有子節點應該更快。然後使用'appendChild'將'iframe'插入到容器中。 –

+0

+1同樣的答案,但你更快 – Xotic750

1

你能做到這一點

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比我更快。