使用JavaScript向DOM添加元素

时间:2010-03-13 19:10:29

标签: javascript html dom

我想用JavaScript添加一个元素。

我有以下代码:

var collection = document.getElementsByTagName('body');
var a = document.createElement('div');
a.innerHTML = 'some text';
collection.item(0).firstChild.appendChild(a);

和简单的HTML:

<html>
    <head></head>
<body>

</body>
</html>

哪里出错?

2 个答案:

答案 0 :(得分:28)

这应该可以满足您的需求:

    var newdiv = document.createElement("div");
    newdiv.appendChild(document.createTextNode("some text"));
    document.body.appendChild(newdiv);
<html>
    <head></head>
<body>

</body>
</html>

首先,您按document.createElement创建元素。要设置其文本内容,您必须有一个“文本节点”包装文本。因此,首先创建此类文本节点,然后将其作为(唯一的)子项添加到新对象中。

然后,将新创建的DIV元素添加到DOM结构中。您不必使用getElementsByTagName()查找BODY元素,因为它作为document对象的属性存在。

答案 1 :(得分:6)

您的代码失败,因为在您尝试插入该全新div时,body标记为空,因此没有firstChild可以附加任何内容。将您的最后一行更改为:

collection.item(0).appendChild(a);