2017-11-18 3 views
0

pageloadで自分のcssを変更しようとしていますが、私が得るのはスタイリングではありません。コンソールにエラーはありません。pageloadにcssを変更

<script> 

var condition = true; 

setCSS(); 

    function setCSS() { 
    if (condition == true) { 
     $("#menuCSS").attr("href","css/css1.css"); 
    } else { 
     $("#menuCSS").attr("href","css/css2.css"); 
    } 
    } 
</script> 

    <link id="menuCSS" rel="stylesheet" href="">; 
+1

そのスクリプトはどこにファイルにありますか? –

+2

DOMに出力する前に要素を選択しようとしていますか? '$(function(){});'(あるいは '$(document).ready(function(){});')は何のためだと思いますか? –

+0

投稿したコードのjQueryライブラリも参照/ロードしていません。コンソールにエラーがなければ、あなたはこの質問にはまったくいないと思います。してください –

答えて

0

ページが読み込まれた後にsetCSS()を呼び出す必要があります。あなたは

$(document).ready(function() { 
     setCSS(); 
    }); 

または以前の答えは、タグがすでにロードされているので、関数を呼び出す前に、ページの一番下にあなたのjavascriptを追加し、言ったようにそれを行うことができます。

+0

私の答えは、質問のタグの1つだったので、jQueryを前提としています。 jQueryと同様にすることができます。 – SteveB

+0

私にとって最高のソリューションありがとう!準備ができている特定のページを指定することは可能ですか?つまり、特定の「外部」ページをロードしたいのですか? – Doer

+0

私はあなたが何を求めているのか正確には分かりませんが、$(document)を別の要素に置き換えて、いつ準備ができているかを判断できます。つまり、特定のdivが読み込まれるのを待っているなら、$( '#divid' ).ready(.... – SteveB

0

スクリプトは実際のリンクの後に来なければなりません。コードは上から下に向かっています。スクリプトの下にリンクを置くと、リンクがまだ表示されません。