nodeValue против innerHTML и textContent. Как выбрать?
Я использую обычный 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 намного быстрее, в чем подвох? Разве это не широко поддерживается? Есть ли другая проблема?