JavaScriptでのinnerHTMLとcreateTextNodeの違い
1074 ワード
それからHTML 5の学習の道に足を踏み入れて、今日コードをたたいて、createTextNodeとinnerHTMLを使って、彼らがいくつかの情況で果たす役割が同じであることを発見して、だから彼らの違いを研究しました.InnerHTMLはHTML Domに属し、createTextNodeはXML Domに属する.効果は似ているが、1つのノードに1つのコンテンツを追加することができるが、場合によっては次の2つのコードが異なる.
注意:1つ目のケースでは、太字のテキスト内容が効果的です.
2つ目の場合に現れる効果は
したがって、両者の違いは、innerHTMLがテキストに含まれるHTMLコードを効果的に実現することである(例えば、あなたの例ではI love HTML 5が太く表示される).createTextNodeはテキストノードを純粋に作成しただけなので、返される効果は純粋なテキストコンテンツであり、ブラウザによって解析されません.
最後に、挿入するコンテンツにhtmlラベルがないと判断した場合はinnerHTMLを使用するとより簡潔になりますが、ユーザーが入力したコンテンツを挿入するなどの決定ができない場合はcreateTextNodeを使用することをお勧めします.
私の文章はとても簡単で、賞を求めないで、いいねを求めて、ありがとうございます.
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を使用することをお勧めします.
私の文章はとても簡単で、賞を求めないで、いいねを求めて、ありがとうございます.