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

+0

Нет его wordpress и плагин загружается, а после этого я хочу добавить, но его аналогичная вещь – Nicola

+0

Я знаю о .on(), но я думаю, что это работает только с событиями – Nicola

ответ

2

Try:

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); 

});​ 

Это ждет, пока дом не будет готов, то проверяет каждый 10-й секунды, чтобы увидеть, если загружен модальное плагин. После загрузки плагина он останавливает интервал и добавляет класс.

+0

спасибо, что работает! – Nicola

+0

Я полагаю, что плагин должен иметь обратный вызов для этого действия. – ValeriiVasin

+0

Нет ли какого-либо события jQuery, которое можно было бы использовать вместо setInterval? –

-1

Вы должны ждать, пока DOM не будет готов.

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

, что не работает, потому что элемент не был добавлен как обычный, это делается с помощью jquery, поэтому я думаю, насколько известно jQuery, это делается, когда это не так. Если это имеет смысл ... – Nicola

Смежные вопросы