'append' не определено для объекта HTMLDivElement в Internet Explorer

У меня ниже строка кода

var divElement= document.createElement( 'div' );
divElement.setAttribute( "id", "testId" );
element[ 0 ].append( divElement);

Где 'element' - это директива $ element from. Итак, element [0] - это объект div HTML. Приведенный выше код отлично работает в Chrome и Firefox, но в IE он дает «append» is undefined и говорит, что «Object не поддерживает свойство или метод« append ».

Вместо этого используйте appendChild.

Ele 25.10.2018 13:55
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
1 006
2

Ответы 2

append метод из ParentNode миксин - относительно новое дополнение; Internet Explorer (на данный момент) довольно старый браузер.

В вашем случае, поскольку вы добавляете один элемент (не HTML или несколько узлов), вы можете вместо этого использовать appendChild (на Node интерфейс):

element[ 0 ].appendChild( divElement);
// ----------------^^^^^

Боковое примечание: чтобы установить id элемента, вы можете использовать отраженное свойство, а не setAttribute:

divElement.id = "testId";

Я могу порекомендовать вам использовать angular.element.append() вместо ParentNode.append. В противном случае вам может потребоваться использовать полифил для поддержки IE.

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