2017-08-04 6 views
2

に取り組んでいない私は、このスクリプトは、ページの初期ロード上で動作し、クラスを追加するdiv要素jQueryのスクリプトは、ページの更新

jQuery('.responsive-calendar .today a').addClass('selectedDay'); 

にクラスを追加するためにjqueryのスクリプトを持っています。しかし、ページをリフレッシュすると、これは動作せず、クラスは追加されません。

ページの更新時にこのスクリプトを読み込むために使用できる関数があります。私はこれを次の関数に追加しようとしましたが、運がありません。

jQuery(window).bind("load", function() {...}); 
jQuery(window).load(function(){...}); 
jQuery(window).on('load',function() { ... }); 

ここに何か不足していますか?

+1

はdocument.ready' '内部でそれを書くのか? – kukkuz

+0

次のようにコードをラップします。 $(document).ready(function(){ //ここのコード }); さらに、初期ロードとページリフレッシュはどういう意味ですか?ページがリフレッシュされた場合、これもコードの初期ロードです。 – Star

+0

これはdocument.readyの内部に書かれています – Stuborg

答えて

4

使用jQuery(document).ready()

例:

(function($) { 
    $(document).ready(function() { 
     $('.responsive-calendar .today a').addClass('selectedDay'); 
    }); 
})(jQuery); 

UPDATE:カレンダーの 、そのonInit()コールバックを使用!

例:

(function($) { 
    $(document).ready(function() { 
     $('.responsive-calendar').responsiveCalendar({ 
      onInit: function() { 
       $('.responsive-calendar .today a').addClass('selectedDay'); 
      } 
     }); 
    }); 
})(jQuery); 
+1

*なぜですか?*おそらく、クラス名が含まれているとしたら、それはサードパーティ製のコンポーネントであり、おそらくjavascriptを介して生成されるからです。したがって*バックエンドで変更することはできません。 –

+0

javascriptによって生成された場合は、ドキュメントが準備されているときにブロックが存在しない可能性があります。関数を実行する前にタイムアウトを追加することを検討してください。 – Sergej

+0

私はこれを試して、それは動作していないようです。私はw3widgets http://w3widgets.com/responsive-calendar/からresponsive-calendarプラグインを使用しています。だから私はバックエンドにクラスを追加することはできません。 – Stuborg

関連する問題