JavaScriptでのinnerHTMLとcreateTextNodeの違い

1074 ワード

それからHTML 5の学習の道に足を踏み入れて、今日コードをたたいて、createTextNodeとinnerHTMLを使って、彼らがいくつかの情況で果たす役割が同じであることを発見して、だから彼らの違いを研究しました.InnerHTMLはHTML Domに属し、createTextNodeはXML Domに属する.効果は似ているが、1つのノードに1つのコンテンツを追加することができるが、場合によっては次の2つのコードが異なる.
var p=document.createElement("p");

p.className="message";

p.innerHTML=" I love HTML5 ";

document.body.appendChild(p);

* * * * * * * * * * * * * * * * * * * * * * * * * * *

var p=document.createElement("p");

p.className="message";

var textnode=document.createTextNode(" I love HTML5 ");

p.appendChild(textnode);

document.body.appendChild(p);

注意:1つ目のケースでは、太字のテキスト内容が効果的です.
2つ目の場合に現れる効果は I love HTML5 原文である.
したがって、両者の違いは、innerHTMLがテキストに含まれるHTMLコードを効果的に実現することである(例えば、あなたの例ではI love HTML 5が太く表示される).createTextNodeはテキストノードを純粋に作成しただけなので、返される効果は純粋なテキストコンテンツであり、ブラウザによって解析されません.
最後に、挿入するコンテンツにhtmlラベルがないと判断した場合はinnerHTMLを使用するとより簡潔になりますが、ユーザーが入力したコンテンツを挿入するなどの決定ができない場合はcreateTextNodeを使用することをお勧めします.
私の文章はとても簡単で、賞を求めないで、いいねを求めて、ありがとうございます.