
「document.getElementById( ).style.display」を使って
スタイルシートを書き換え、画像とテキストの表示替えをしています。
Firefoxでは正常に動作するのですが、
IEでは「displayプロパティ」を取得できずに動作しません。
htmlは以下のとおりです。
どなたかお分かりになる方、教えていただけないでしょうか?
よろしくお願いします。
★javascriptの内容
function toggle(Aid,Bid,Cid,Did,Eid) {
document.getElementById(Aid).style.display = 'none';
document.getElementById(Bid).style.display = 'inherit';
document.getElementById(Cid).style.display = 'inherit';
document.getElementById(Did).style.display = 'none';
document.getElementById(Eid).style.display = 'none';
}
★スタイルシートの内容
#page {width: 910px;}
#ai{height: 33px;display:inherit;}
#kaki{height: 33px;display:none;}
#img_ai{margin: 0px;float: left;display:none;}
#img_kaki{margin: 0px;float: left;display:inherit;}
No.1ベストアンサー
- 回答日時:
いろいろ調べてみましたが、結論として
「inherit」をIE系(IE5.x、IE6)がサポートしていないのが原因の様です。
「displayプロパティの値を取得できませんでした。引数が不正です。」
のメッセージは、~~.style.displayのプロパティが参照できない事が原因ではなく、右辺値'inherit'が
受け付けられない事によって起こっています。
function toggle(Aid,Bid,Cid,Did,Eid) {
document.getElementById(Aid).style.display = 'none';
document.getElementById(Bid).style.display = 'inherit'; ※
document.getElementById(Cid).style.display = 'inherit';
document.getElementById(Did).style.display = 'none';
document.getElementById(Eid).style.display = 'none';
}
現在は、※の箇所でエラーが発生します。
試みに、一行目の'none'を'xxxx'に変えると、そこでエラーが発生します。
これは、代入値が受付可能なものでないとエラーとなる事を示しています。
ちなみに以下のMSDNのライブラリでも、displayプロパティに対する設定値として'inherit'は
出てきません。
(http://msdn.microsoft.com/library/default.asp?ur …)
一方で、FirefoxのCSS対応表
(http://f57.aaa.livedoor.jp/~motohiko/CSS/css2.1. …)
「'run-in', 'inline-block', 'inline-table' には非対応。」とありますが、'inherit'は対応している
ようです。
代替手段はありそうですが、質問者の方が'inherit'をどのような意図で使っているかわかりかねるので
その点はお答えかねます。
inheritがIEのサポート外だったのですね。
ありがとうございます。
特にinheritを使わなければいけないわけじゃなかったので
blockに変更して、無事正常な動きをするようになりました。
ご丁寧な回答をいただきましてどうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MAX関数を使ってからLEFT JOIN...
-
jQueryで特定id以外の下にある...
-
iframe内のリンクが飛ばないの...
-
<div ~ </div> で囲まれたテキ...
-
jQueryでクリックされた要素のi...
-
iframe内からjQueryで指定したい
-
javascriptテキストBOX色を元に...
-
<Div>の中の要素の数を調べる
-
IFRAMEの表示/非表示を切り替え...
-
背景色を透明化
-
jQueryのpagerを使ったページで、
-
javascriptでpostした値が取得...
-
一覧をタブメニューで絞り込ん...
-
NetscapeでremoveNodeは使えない?
-
ダブルクォーテーションが消え...
-
【HP作成】クリックすると下...
-
背景色を一定時間ごとにランダ...
-
Javascriptで現在のページ番号...
-
表示・非表示のスクリプトで、...
-
折りたたみメニューについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MAX関数を使ってからLEFT JOIN...
-
javascriptテキストBOX色を元に...
-
読み込んだQRコードをフォーム...
-
removeAttribute()メソッドで削...
-
IFRAMEの表示/非表示を切り替え...
-
VBAのことについて教えてくださ...
-
javascriptでpostした値が取得...
-
プルダウンメニュ 展開時にずら...
-
removeEventListenerについて
-
クリックすると隠れたテキスト...
-
プルダウンとチェックボックス...
-
指定字数以降隠す
-
自働生成される<div>タグに連番...
-
テキストボックスに入力された...
-
背景色を透明化
-
特定のものにだけスクリプトを...
-
ホームページ(デフォルトペー...
-
テキストエリア内の一部の文字...
-
隣のフレームの中のスタイルを...
-
java折りたたみタグを複数設置...
おすすめ情報