Я ищу заменить элемент в DOM.
Например, есть <a>
элемент, который я хочу заменить <span>
вместо.
Как бы я пошел и сделал это?
javascript
dom
О, мой бог
источник
источник
target.replaceWith(element);
это современный (ES5 +) способ сделать этоОтветы:
с помощью replaceChild () :
источник
А является заменяемым элементом.
источник
A.replaceWith(span)
- Родитель не нуженРодовая форма:
Путь лучше / чище, чем предыдущий метод.
Для вашего случая использования:
Mozilla Docs
Поддерживаемые браузеры - 94% апрель 2020
источник
Этот вопрос очень старый, но я обнаружил, что готовлюсь к сертификации Microsoft, и в учебнике было предложено использовать:
Я посмотрел его, и кажется, что он поддерживается только в IE. Doh ..
Я думал, что просто добавлю это здесь как забавную заметку;)
источник
У меня была похожая проблема, и я нашел эту тему. Заменить не сработало для меня, и для меня было тяжело идти к родителю. Внутренний HTML заменил детей, что было не тем, чего я хотел. Использование outerHTML сделало свою работу. Надеюсь, это поможет кому-то еще!
источник
Вы можете заменить
HTML Element
илиNode
использоватьNode.replaceWith(newNode)
.В этом примере должны храниться все атрибуты и дочерние узлы исходного узла:
Если у вас есть эти элементы:
После выполнения вышеуказанных кодов вы получите следующие элементы:
источник
Пример замены элементов LI
источник
Учитывая уже предложенные варианты, самое простое решение без поиска родителя:
источник