Я використовую звичайний js для зміни внутрішнього тексту елемента мітки, і я не був впевнений, на яких підставах я повинен використовувати innerHTML або nodeValue або textContent. Мені не потрібно створювати новий вузол або змінювати елементи HTML або щось інше - просто замініть текст. Ось приклад коду:
var myLabel = document.getElementById("#someLabel");
myLabel.innerHTML = "Some new label text!"; // this works
myLabel.firstChild.nodeValue = "Some new label text!"; // this also works.
myLabel.textContent = "Some new label text!"; // this also works.
Я переглянув джерело jQuery, і воно використовує nodeValue рівно один раз, але innerHTML та textContent кілька разів. Тоді я знайшов цей тест jsperf, який вказує, що firstChild.nodeValue значно швидше. Принаймні, це те, що я трактую.
Якщо firstChild.nodeValue набагато швидше, у чому ловить? Хіба це не широко підтримується? Чи є ще якесь питання?
nodeValue
не розбираємо html