J'utilise plain js pour modifier le texte interne d'un élément d'étiquette, et je n'étais pas sûr pour quelles raisons je devrais utiliser innerHTML ou nodeValue ou textContent. Je n'ai pas besoin de créer un nouveau nœud ou de modifier les éléments HTML ou quoi que ce soit - remplacez simplement le texte. Voici un exemple de code:
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.
J'ai regardé à travers la source jQuery, et elle utilise nodeValue exactement une fois mais innerHTML et textContent plusieurs fois. Ensuite, j'ai trouvé ce test jsperf qui indique que firstChild.nodeValue est beaucoup plus rapide. Du moins, c'est ce que j'interprète comme cela.
Si firstChild.nodeValue est tellement plus rapide, quel est le problème? N'est-il pas largement soutenu? Y a-t-il un autre problème?
nodeValue