プレーン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を1回だけ使用していますが、innerHTMLとtextContentを数回使用しています。次に、firstChild.nodeValueが大幅に高速であることを示すこのjsperfテストを見つけました。少なくとも私はそれを意味すると解釈しています。
firstChild.nodeValueの方がはるかに速い場合、何が問題なのでしょうか。広くサポートされていませんか?他に問題はありますか?
nodeValue
htmlも解析しません