Приводит ли изменение innerText элемента DOM к новому вычислению макета / рендеринга? - PullRequest
0 голосов
/ 21 октября 2010

Я знаю, что некоторые изменения в DOM веб-страницы (по JavaScript) приведут к тому, что механизм рендеринга вычислит новый макет для рендеринга (не уверен, что моя терминология верна).

У меня есть процесс, который довольно часто обновляет данные с помощью длинных запросов кометного стиля.Некоторые из этих обновлений довольно часты.Я знаю, что хорошее общее правило заключается в том, чтобы удалить целевой элемент DOM, внести необходимые изменения, а затем поместить его обратно в DOM (чтобы при повторном рендеринге вас ударили только дважды), но я не был уверенесли вы заменяете только внутренний текст элемента, если вы подвергаетесь тому же самому попаданию.В моем случае я обновляю содержимое некоторых ячеек таблицы, которые являются просто текстом (не обернутыми в span или div).

Ответы [ 2 ]

2 голосов
/ 21 октября 2010

Каждый раз, когда что-то меняется в DOM, оно запускает перекрашивание и перекомпоновку. Даже если вы просто меняете текст.

1 голос
/ 21 октября 2010

да, это будет так, как вы хотите.

Например: у вас есть div с id = "div" и его html установлен в текст "Lorem"

var div = document.getElementById('div');
div.innerHTML = 'Lorem Ipsum Dolor'

, тогда вы увидите, что div div innerHTML будет установлен как «Lorem Ipsum Dolor».это называется переформатированием документов.

Lorenzo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...