
innerHTMLでcssのコードを直接書き換えたいのですがうまくいきません。
Firefoxでは反映されるのですが、IEでは書き換えられません。
欲しい結果としては疑似クラスを変更してリンク色を変えたいです。
DOMで疑似クラスを変更できればいいのですが、やりかたがわかりません。
リンク色を変更できる方法だれか教えてください。
宜しくお願いします。
<html>
<head>
<title>Css</title>
<script language="javascript">
<!--
function CssRewrite() {
$cssString1 = '<style type="text/css">';
$cssString1 += '<!--';
$cssString1 += '.test a:link {color: ';
$cssString1 += '#AAAAAA;}';
$cssString1 += '.test a:visited {color: ';
$cssString1 += '#AAAAAA;}';
$cssString1 += '// -->';
$cssString1 += '</style>';
alert($cssString1);
document.getElementById("css0").innerHTML = $cssString1;
}
window.onload = CssRewrite;
// -->
</script>
</head>
<body>
<span id="css0"></span>
<span class="test"><a href="#">css</a></span>
</body>
</html>
No.1ベストアンサー
- 回答日時:
このスクリプトってspanの中にstyleを書いているんですよね。
それはまずいでしょう。
どうせなら
style=document.createElement('style')
document.getElementsBytagName('head')[0].appendChild(style)
style.cssText=$cssString1
Firefox Opera8なら
style.appendChild(createTextNode($cssString1))
IE addRule1又はstyleSheets[参照番号].cssText
Firefox insertRule
Opera8 CSSにアクセスできない。
Opera9 insertRuleかな?
でルールを個別に追加
の方が動く可能性が高いと思います。
でもwindow.onloadで書きかえるなら最初からそのスタイルシートを書いておけば良いような気がします。
ブラウザ毎に分けたいのかな?
window.onloadはテスト用に適当につけたものなので、意味はありません:)
IE
styleSheets[参照番号].cssText
Firefox Opera8
style.appendChild(createTextNode($cssString1))
上記で、おっしゃられたとおりにやったらいきました!
プラウザ毎の処理まで提示して頂き、本当に助かりました。
自分ではどうにもならなかったのでとても嬉しいです。
有り難うございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MAX関数を使ってからLEFT JOIN...
-
javascriptテキストBOX色を元に...
-
removeEventListenerについて
-
displayの状態を取得したい
-
表示・非表示のスクリプトで、...
-
タブで開いてさらにタブ内をア...
-
jqueryを使って無駄なspanタグ...
-
Gif画像のアニメーションが再生...
-
jQueryで同じid属性が複数あっ...
-
getElementByIdの戻り値がnull...
-
折りたたみ部分にアンカーでリ...
-
リンク色を動的に変更したい。i...
-
Javascriptで可変のHTMLのID名...
-
document.getElementById( ).st...
-
動的にHTMLコンテンツを吹き出...
-
javascriptで特定のオブジェク...
-
console.log結果をhtmlで表示し...
-
c++std::string型をTCHARに変換...
-
CSSで背景を下までのばすには?
-
jspでcssが読み込めない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MAX関数を使ってからLEFT JOIN...
-
javascriptテキストBOX色を元に...
-
読み込んだQRコードをフォーム...
-
removeAttribute()メソッドで削...
-
IFRAMEの表示/非表示を切り替え...
-
VBAのことについて教えてくださ...
-
javascriptでpostした値が取得...
-
プルダウンメニュ 展開時にずら...
-
removeEventListenerについて
-
クリックすると隠れたテキスト...
-
プルダウンとチェックボックス...
-
指定字数以降隠す
-
自働生成される<div>タグに連番...
-
テキストボックスに入力された...
-
背景色を透明化
-
特定のものにだけスクリプトを...
-
ホームページ(デフォルトペー...
-
テキストエリア内の一部の文字...
-
隣のフレームの中のスタイルを...
-
java折りたたみタグを複数設置...
おすすめ情報