- 2007-11-26 (月)
- 技術
クロスブラウザ対応ではいろいろとブラウザ間でサポートされていないプロパティがあり知っていないと、「あれ?動かないぞっ!」となってしまうので、これからちょいちょいメモしていきます。
今回は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>
クライアントの使用しているブラウザを判定するステートメントもいろいろあるみたいなので、これから探っていってみようと思います。
あんまり知らないもので・・・
【関連する記事】
- IEとFirefoxでテキストボックス上でのEnterの挙動について
- IEでfloatを使った場合margin-bottomが無視されてしまう
- onloadを待たずに特定のエレメントに処理を実行する方法
- Newer: Windows XPのブート画面を表示しない方法
- Older: ストレスをためる暮らしをする10の方法
Comments:0
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

