2010-02-02 2 views
0

Я динамически добавляю класс в свой код, используя JQuery .attr('class', 'show'). Но когда я использую .each() функцию:jquery каждая функция для динамических элементов

$('.show a').each(function() { 
    alert(0); 
}); 

это doesen't работу.

Я работаю, когда я добавил класс 'show' вручную.

Как это сделать динамически?

ответ

3

Используйте «addClass» вместо того, чтобы пытаться установить класс через «attr()».

1

Я предполагаю, что вы имеете в виду, что добавляете класс к существующему элементу. Если так, то может работать лучше, если вы использовали:

$('.myElement').addClass('show'); 

Если вам нужно добавить элемент в DOM, то это совсем другое дело.

EDIT:

Для решения новой информации, которую вы дали, есть две вещи, чтобы изменить:

Во-первых, использование addClass:

$('#existing div:first').show().addClass('show'); 

Во-вторых, вы забыли. перед «показом» для каждого из вас. Это должно быть ('.show a'):

  $('.show a').each(function() { 
       alert(0); 
      }); 
0

У меня есть элемент div.

$('#somewhere').click(function() {     

       $('#existing div:first').show().attr('class', 'show'); 

       $('show a').each(function() { 
        alert(0); 
       }); 
});  

Мой код: <div id="existing"> <div> <a href="#">a1</a> <a href="#">a2</a </div> <div> <a href="#">b1</a> <a href="#">b2</a> </div>

Я попытался .addClass и .attr ...

+1

Вы новичок здесь, так что просто хочу, чтобы вы знали, что если вы хотите, чтобы уточнить ваш вопрос , лучше отредактировать исходный вопрос или добавить комментарий к этому одному из ответов. Я отредактировал свой ответ, чтобы решить проблему. – user113716

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