2017-05-06 89 views
0

我在學習Javascript,我想了解一些內容。 我試圖建立使用JavaScript的HTML節點和我的代碼工作,當我分裂指示,但不是當我嘗試壓縮:在Javascript中創建節點

我有一個文本標籤:

var tabText = [ 
    'The ', 
    'Moon', 
]; 

此代碼:

var s1 = document.createElement('strong'); 
s1.appendChild(document.createTextNode(tabText[1])); 
div.appendChild(s1); 

但是這一次沒有:

div.appendChild(document.createElement('strong').appendChild(document.createTextNode(tabText[1])));

你能給我一些解釋嗎?

謝謝。

+1

你有一個錯字btw:'tabTexte' –

+0

一個錯字?那是什麼意思 ?我的標籤名爲'tabText'。 – Fred

+0

你_had_錯字:你最初發布的代碼有'tabTexte [1]' –

回答

1
document.createElement('strong').appendChild(document.createTextNode(tabTexte[1])) 

node.appendChild返回追加的子節點,因此上的代碼將返回textNode(當時至極追加對DIV至極做強ELEM去無處)...

您可能希望這樣:

div.appendChild(document.createElement('strong')).appendChild(document.createTextNode(tabText[1])); 
+0

感謝您的幫助,這非常明確! – Fred

0

appendChild結果是孩子,而不是父母。換句話說,您的代碼相當於

var strongNode = document.createElement('strong'); 
var textNode = document.createTextNode(tabText[1])); 
strongNode.appendChild(textNode); // returns textNode 
div.appendChild(textNode); 

因此,strongNode將不會被添加到文檔中。