2017-05-06 87 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将不会被添加到文档中。