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

Ответы на вопрос(5)

Ваш ответ на вопрос