2012-04-22 84 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

相關問題