こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

JavaScriptで、参照する階層を変えるとCSSが読み込めない

 ランダムに1.cssまたは2.cssというcssファイルを読み込むスクリプトを記述しています。
<script language="javascript">
<!--
var cssno = Math.floor(Math.random() * 2 + 1);
document.write("<link rel='stylesheet' type='text/css' href='"+cssno+".css'>");
//-->
</script>
 これでうまく動いたので、このスクリプトを含むHTMLファイルがある階層に「css」というフォルダを作り、その中にcssファイルを移しました。そこで、
<script language="javascript">
<!--
var cssno = Math.floor(Math.random() * 2 + 1);
document.write("<link rel='stylesheet' type='text/css' href='css/"+cssno+".css'>");
//-->
</script>
というふうに、変数cssnoの前に階層を表す「css/」をつけたのですが、これをやったとたんに動かなくなりました。
 ファイルを同じ階層に移動させて、「css/」を取れば(=元の状態に戻せば)動きます。参照する階層を間違えているのかと思って、<head></head>内に通常通り<link rel~>でCSSを指定したら読み込めました。
 スクリプトの記述方法がいけないんでしょうか? どうすれば、フォルダ「css」からcssファイルを読み込めるようになりますか?

投稿日時 - 2006-08-04 22:20:03

QNo.2320023

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

<script language="javascript">
<!--
var cssno = Math.floor(Math.random() * 2 + 1);
document.write("<link rel='stylesheet' type='text/css' href='./css/"+cssno+".css'>");
//-->
</script>

ではどうですか?

投稿日時 - 2006-08-05 04:04:23

お礼

 回答ありがとうございます。
 やっぱりダメでした・・・・・・。<link rel~>で問題のcssと同じフォルダにある別のcssを読み込んでいるのですが、そちらはきちんと反映されているので、相対パスが間違っているわけではないようなのですが・・・・・・。問題のcssも<link rel~>で指定すれば反映されるので、もう本当に何がいけないのか分からないです。

投稿日時 - 2006-08-08 21:04:15

ANo.1

特に問題なそうなので、スペルミスの類では?
大文字小文字を間違えているとかそのあたりも
再確認なさってみてください

投稿日時 - 2006-08-04 22:39:42

お礼

 回答ありがとうございます。
 あれから何度もチェックと動作確認を繰り返しているのですが、一向に事態が進展しません・・・・・・。文字通り一字一句確認しましたが、スペルミスは見つけられませんでした。
いっそ記述方法を変えて、if文にした方がいいんでしょうか・・・・・・?

投稿日時 - 2006-08-08 20:59:37

あなたにオススメの質問