Ответ 1
Это должно сделать то, что вы ищете:
var newdiv = document.createElement("div");
newdiv.appendChild(document.createTextNode("some text"));
document.body.appendChild(newdiv);
<html>
<head></head>
<body>
</body>
</html>
Я хочу добавить элемент с 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>
Где ошибка?
Это должно сделать то, что вы ищете:
var newdiv = document.createElement("div");
newdiv.appendChild(document.createTextNode("some text"));
document.body.appendChild(newdiv);
<html>
<head></head>
<body>
</body>
</html>
Ваш код не работает, потому что в то время, когда вы пытаетесь вставить этот новый div, тег тела пуст, и поэтому нет никакой первой вещи для добавления чего-либо. Измените свою последнюю строку на:
collection.item(0).appendChild(a);