Мне нужен способ добавить HTML к элементу контейнера без использования innerHTML. Причина, по которой я не хочу использовать innerHTML, заключается в том, что когда он используется следующим образом:
element.innerHTML += htmldata
Он работает путем замены всего HTML-кода перед добавлением старого HTML-кода и нового HTML-кода. Это не хорошо, потому что сбрасывает динамические медиа, такие как встроенные флэш-видео ...
Я мог бы сделать это так, который работает:
var e = document.createElement('span');
e.innerHTML = htmldata;
element.appendChild(e);
Однако проблема с этим способом заключается в том, что в документе есть дополнительный тег span, который мне не нужен.
Как это можно сделать тогда? Спасибо!
Ответы:
Чтобы дать альтернативу (поскольку использование
DocumentFragment
, кажется, не работает): Вы можете смоделировать это, перебирая дочерние элементы недавно сгенерированного узла и добавляя только теисточник
e.firstChild
. Скорее, он проверяет,e
есть ли дочерний элемент, и если да, переместите этого дочернего элемента в элемент.Я удивлен, что ни один из ответов не упомянул
insertAdjacentHTML()
метод. Проверьте это здесь . Первый параметр - это то, где вы хотите, чтобы строка добавлялась и принималась («beforebegin», «afterbegin», «beforeend», «afterend»). В ситуации ОП вы должны использовать «beforeend». Второй параметр - это просто строка html.Основное использование:
источник
Uncaught TypeError: undefined is not a function
!У alnafie есть отличный ответ на этот вопрос. Я хотел привести пример его кода для справки:
Надеюсь, это полезно для других.
источник
назначьте данные для div с символом «+ =», к которому вы можете добавить данные, включая предыдущие HTML-данные
источник
element.innerHTML += data
.Это то, что
DocumentFragment
предназначалось для.document.createDocumentFragment
,.childNodes
источник
(a)
? Это опечатка.Как ловить рыбу и при этом использовать строгий кодекс. В нижней части этого поста необходимы две обязательные функции.
Добавьте несколько элементов (пространство имен должно быть только в родительском элементе):
Динамический многоразовый код:
источник