2012-04-22 43 views
3

我需要将一个类添加到以编程方式添加的<a>。当我打电话addClass它不会添加它,这是我假设,因为该插件尚未完成安装它的所有零碎,所以锚点还没有。动态加载完成后,如何添加jquery的类?

该页面为here。它是顶部的登录栏。我想添加一个班级到登录和注册按钮,例如

jQuery('.bp-login a').addClass('simplemodal-login'); 
jQuery('.bp-signup a').addClass('simplemodal-register'); 

该节的HTML是

<ul class="main-nav"> 
<li class="bp-login no-arrow"> 
    <a href="http://nicolaelvin.com/community/wp-login.php?redirect_to=http%3A%2F%2Fnicolaelvin.com%2Fcommunity">Log In 
    </a> 
</li> 
<li class="bp-signup no-arrow"> 
    <a href="http://nicolaelvin.com/community/register/">Sign Up 
    </a> 
</li> 
...</ul> 
+0

你是否安装了一些像activeX控件的插件,然后你想添加? – Adil 2012-04-22 11:31:30

+0

没有它的wordpress和一个插件加载,之后我想添加,但它的类似的东西 – Nicola 2012-04-22 11:32:55

+0

我知道.on(),但我认为这只适用于事件 – Nicola 2012-04-22 11:33:50

回答

2

尝试:

jQuery(function() { 

    var modal_check = setInterval(function(){ 

     if(jQuery('.simplemodal-login').length > 1){ 
      clearInterval(modal_check); 
      jQuery('.bp-login a').addClass('simplemodal-login'); 
      jQuery('.bp-signup a').addClass('simplemodal-register'); 
     } 

    },100); 

});​ 

此等待,直到DOM准备好然后检查第二的每10个,看是否模态插件加载。一旦插件已经加载它停止间隔并添加类。

+0

谢谢你的工作! – Nicola 2012-04-22 13:25:47

+0

我想这个插件应该有一些回调。 – ValeriiVasin 2012-04-22 18:56:34

+0

是否有任何可以用来代替setInterval的jQuery事件? – 2012-11-29 11:31:09

-1

你应该等到DOM已准备就绪。

$(function() { 
    $(element).addClass('hello'); 
}); 
+1

,因为该元素没有被正常添加,所以不起作用,它使用jQuery来完成,所以我认为就jQuery知道的,它已经完成了,当它不是时。如果这是有道理的... – Nicola 2012-04-22 12:57:34

相关问题