appendChild в старых браузерах IE - PullRequest
2 голосов
/ 25 октября 2009

Я пытаюсь создать новый элемент в моем коде JavaScript и добавить его к одному из моих элементов. Но кажется, что старые браузеры IE не поддерживают эту функцию, и мой код разрывается на строке, где я использую функцию appendChild.

var child = document.createElement('span');
child.innerHTML = "Hello World!"; // Crashes here
parent.appendChild(child); // And here

Могу ли я использовать какие-либо альтернативы для IE?

Спасибо.

P.S. Код отлично работает в современных браузерах.

UPD: Следующий код решает последнюю часть моей проблемы, я могу добавить пустой дочерний элемент к родителю:

var child = document.createElement('span');
if (parent.insertAdjacentElement){
   parent.insertAdjacentElement('beforeEnd', child);
}
else if (parent.appendChild) {
   parent.appendChild(child);
}

Но мне все еще нужно поместить некоторые данные в дочерний элемент. createTextNode, innerHTML, setAttributes не работают.

Ответы [ 4 ]

2 голосов
/ 25 октября 2009

Это может быть не связано, но проверьте эту ссылку , как кто-то еще решил эту проблему

Редактировать: и эта ссылка тоже

0 голосов
/ 26 октября 2009

parent.innerHTML вроде бы нормально работает.

0 голосов
/ 25 октября 2009

Устраняет ли это проблему?

var child = document.createElement('span');
child.appendChild(document.createTextNode("Hello World!"));
parent.appendChild(child);
0 голосов
/ 25 октября 2009

Мне кажется, что он падает на 2-й строке. innerHTML пишется строчными буквами i, а не прописными. Это может быть даже ваша первая строка, поскольку есть опечатка, но я предполагаю, что это только в вопросе.

...