2016-11-28 69 views
0

我,爲什麼這個代碼不工作,真的很困惑,我接到了一個SO頁面的代碼有關遍歷DOM。爲什麼這個使用document.createElement(「DIV)代碼不會創建一個元素?

var div = document.createElement('div'); 
    div.innerHTML = 'Y HALO THAR'; 
+4

你追加'div'到'document'?使用'document.body.appendChild(div);' – Satpal

+0

您必須將新的div插入到DOM中。 'createElement'不會自動執行。 – Thilo

+0

爲什麼document.getElementsByTagName(「header」)。appendChild(div)不起作用? – lovetolearn

回答

0

您需要將div附加到一個元素。在我的例子中,我將它添加到包裝的div容器#wrap只是創造是不夠的!

var div = document.createElement('div'); 
 
    div.innerHTML = 'Y HALO THAR'; 
 
document.getElementById('wrap').appendChild(div)
<div id="wrap"> 
 
    
 
    </div>

+0

這讓我瘋狂爲document.getElementsByTagName(「header」)。appendChild(div);不起作用 – lovetolearn

+0

嘗試document.getElementsByTagName('header')[0] .appendChild(div),因爲此函數返回一個數組(類)對象。 –

0

您需要將div附加到文檔。

document.body.appendChild(div); 
1

您需要將此創建的元素附加到現有的一些元素的文檔中

可以通過首先選擇該元素附加它在體內以及如下面在註釋的代碼或任何其它元件和然後在這個裏面附加這個JS創建的div。

var div = document.createElement("Div");  
 
div.innerHTML = 'Y HALO THAR'; 
 
//document.body.appendChild(div); 
 

 
document.getElementsByTagName("header")[0].appendChild(div)
<header> 
 
    
 
</header>

+0

爲什麼會document.getElementsByTagName(「header」)。appendChild(div);不行? – lovetolearn

+0

它確實有效,只要記住document.getElementsByTagName(「header」)會給你帶有指定標籤名稱的文檔中所有元素的集合。所以你必須使用[]選擇一個。我已更新我的答案以顯示相同的內容。 – Deep

相關問題