Вопрос

Я пытаюсь создать новый элемент в моем коде 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 не работайте.

Это было полезно?

Решение

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

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

Другие советы

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

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

var child = document.createElement('span');
child.appendChild(document.createTextNode("Hello World!"));
parent.appendChild(child);

parent.innerHTML кажется, работает нормально.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top