Добавьте элемент к DOM с JavaScript

Я хочу, добавляет элемент с 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>

Где ошибка?

19
задан informatik01 22 October 2013 в 14:47
поделиться

2 ответа

Это должно сделать то, что вы ищете:

  var newdiv = document.createElement ("div") ; newdiv.appendChild (document.createTextNode ("какой-то текст")); document.body.appendChild (newdiv); 
       

Сначала вы создаете элемент с помощью document.createElement . Чтобы установить его текстовое содержимое, у вас должен быть «текстовый узел», охватывающий ваш текст. Итак, вы сначала создаете такой текстовый узел, а затем добавляете его как (единственный) дочерний элемент к вашему новому объекту.

Затем добавьте вновь созданный элемент DIV в структуру DOM. Вам не нужно искать элемент BODY с помощью getElementsByTagName () , поскольку он существует как свойство объекта document .

31
ответ дан 30 November 2019 в 03:33
поделиться

Ваш код не работает, потому что в то время, когда вы пытаетесь вставить этот новый div, тег body пуст, и поэтому нет firstChild, чтобы добавить что-либо в . Измените вашу последнюю строку на:

collection.item(0).appendChild(a);
6
ответ дан 30 November 2019 в 03:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: