Проверьте это:
innerHTML, innerText, textContent, html () и text ()?
InnerHTML
вернет вам весь контент внутри элемента, в то время как textContent
в основном пытается проанализировать контент (избавиться от тегов) при доступе к элементу. Я предполагаю, что причина для первого пункта заключается в том, что Google и Mozilla провели некоторую оптимизацию до innerHTML
, используя указатель вместо кучи obj в качестве ссылки, и поэтому он быстрее (назначение указателя по сравнению с манипулированием obj). Я предполагаю, что FF / Chrome будет иметь лучшую производительность, чем другие браузеры для тега innerHTML
.
Кажется, textContent
пытается получить доступ к дочерним узлам каждый раз, когда вы получаете к нему доступ.
для второй части, из предоставленного вами кода, js сделал удаление дочерних узлов перед вызовом textContent
. Как я уже сказал, textContent
пытается получить доступ к дочерним узлам и анализировать их во время вызова, будет быстрее, если он обнаружит, что дочерний узел не добавлен.