• 締切済み

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ファイルを読み込めるようになりますか?

みんなの回答

  • NYOI
  • ベストアンサー率58% (56/96)
回答No.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> ではどうですか?

rusya
質問者

お礼

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

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

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

rusya
質問者

お礼

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

関連するQ&A

専門家に質問してみよう