2017-08-04 103 views
2

工作,我有一个jQuery脚本的类添加到一个divjQuery脚本不刷新页面

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

此脚本适用于页面初始加载并添加类。但在刷新页面时,这不起作用,并且不添加该类。

所以有什么功能可以用来在页面刷新时加载这个脚本。我已经尝试添加到以下功能,但没有运气。

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

我在这里错过了什么吗?

+1

写入它里面'document.ready'? – kukkuz

+0

包装你的代码如下: $(document).ready(function(){ //你的代码在这里 }); 此外你是什么意思bu初始加载和页面刷新?如果页面被刷新,那么这也是代码的初始加载。 – 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/的响应日历插件。所以我不能在后台添加类。 – Stuborg