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>

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

【関連する記事】

Comments:0

Comment Form

コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。

Remember personal info

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, JavaScripter Blog

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

Tag cloud
Categories
月別アーカイブ
このブログについて
author:hisasann

description:フリーランスで仕事しているプログラマーです。
最近はJavaScript、Rails、Java(Struts+Spring)なんかをいろいろといじっています。
今やってみたいのはFlashやActionScriptかな。
また誕生して半年になる子供の成長を見守るパパでもあります。

日々の日記 :

他に運営しているブログ:

利用しているWebサービス :
最近のコメント
Powered by
Powered by
Movable Type 3.35

Page Top