- 締切済み
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ファイルを読み込めるようになりますか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- NYOI
- ベストアンサー率58% (56/96)
<script language="javascript"> <!-- var cssno = Math.floor(Math.random() * 2 + 1); document.write("<link rel='stylesheet' type='text/css' href='./css/"+cssno+".css'>"); //--> </script> ではどうですか?
- yambejp
- ベストアンサー率51% (3827/7415)
特に問題なそうなので、スペルミスの類では? 大文字小文字を間違えているとかそのあたりも 再確認なさってみてください
お礼
回答ありがとうございます。 あれから何度もチェックと動作確認を繰り返しているのですが、一向に事態が進展しません・・・・・・。文字通り一字一句確認しましたが、スペルミスは見つけられませんでした。 いっそ記述方法を変えて、if文にした方がいいんでしょうか・・・・・・?
お礼
回答ありがとうございます。 やっぱりダメでした・・・・・・。<link rel~>で問題のcssと同じフォルダにある別のcssを読み込んでいるのですが、そちらはきちんと反映されているので、相対パスが間違っているわけではないようなのですが・・・・・・。問題のcssも<link rel~>で指定すれば反映されるので、もう本当に何がいけないのか分からないです。