Home > 技術 > Firefoxではタグに値を入れるときはinnerTextではなくtextContentを使う

Firefoxではタグに値を入れるときはinnerTextではなくtextContentを使う

クロスブラウザ対応ではいろいろとブラウザ間でサポートされていないプロパティがあり知っていないと、「あれ?動かないぞっ!」となってしまうので、これからちょいちょいメモしていきます。

今回はIEでは普通に使えるinnerTextプロパティがFirefoxではtextContentプロパティを使う
です。
innerTextプロパティはDOM経由で取得したタグオブジェクトの開始タグと終了タグの間に文字を入れる処理です。これは単純な文字列になってしまうので、HTMLタグを埋め込みたい場合は、innerHTMLプロパティを使用します。

以下試しのコードを書いてみました。
確かにIEとFirefoxで有効なプロパティが違いますね。

<html>
<head>

<script language="JavaScript">
<!--

  function m(){
   document.getElementById("d1").innerHTML = "<b>aaa</a>";

   if (/MSIE/.test(navigator.userAgent)){
    document.getElementById("d2").innerText = "<b>aaa</a>";
    alert("MSIE"); // 確認用アラート
   } else if (/Firefox/.test(navigator.userAgent)){
    document.getElementById("d2").textContent = "<b>aaa</a>";
    alert("Firefox"); // 確認用アラート
   }
  }

//-->
</script>

</head>
<body onload="m();">
  <div id="d1"></div>
  <div id="d2"></div>
</body>
</html>

クライアントの使用しているブラウザを判定するステートメントもいろいろあるみたいなので、これから探っていってみようと思います。
あんまり知らないもので・・・

Trackback:0

TrackBack URL for this entry
http://hisasann.com/cgi-bin/mt/mt-tb.cgi/670
Listed below are links to weblogs that reference
Firefoxではタグに値を入れるときはinnerTextではなくtextContentを使う from HouseTect, JavaScriptな情報をあなたに

Home > 技術 > Firefoxではタグに値を入れるときはinnerTextではなくtextContentを使う

Tag cloud
月別アーカイブ
Powered by
Powered by
Movable Type Commercial 4.261

Page Top