Я использую простой 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