appendChild в старых браузерах IE
-
06-07-2019 - |
Вопрос
Я пытаюсь создать новый элемент в моем коде 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
кажется, работает нормально.