Альтернатива для innerHTML? - PullRequest
       28

Альтернатива для innerHTML?

36 голосов
/ 05 апреля 2009

Мне интересно, есть ли способ изменить текст чего-либо в HTML без использования innerHTML.

Причина, по которой я спрашиваю, заключается в том, что W3C это как бы не одобряет. Я знаю, что это придирчиво, но я просто хочу знать, есть ли способ?

РЕДАКТИРОВАТЬ: люди, кажется, неправильно понимают, что я здесь спрашиваю: я хочу найти способ эффективно изменить отображаемый текст.

Если у меня есть:

<div id="one">One</a>

innerHTML позволяет мне сделать это:

var text = document.getElementsById("one");
text.innerHTML = "Two";

И текст на моем экране изменится.
Я не хочу добавлять больше текста, я хочу изменить уже существующий текст.

Ответы [ 12 ]

0 голосов
/ 08 февраля 2019

insertAdjacentHTML () - это путь. Прочитайте больше: Нажмите для документации

0 голосов
/ 10 октября 2013

Иногда мне полезно хранить прямую ссылку на текстовый узел, если я собираюсь регулярно его обновлять. Я делаю что-то вроде этого:

var dynamicText = myDiv.appendChild(document.createTextNode("the initial text"));

А потом, когда мне нужно обновить его, я просто делаю это:

dynamicText.nodeValue = "the updated text";

Это предотвращает необходимость ходить по DOM или добавлять или удалять детей.

...