2010-02-02 100 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,这是一个完全不同的事情。

编辑:

为了解决你给了新的信息,也有改变两件事情:

首先,使用addClass:

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

其次,你忘了。在'显示'之前为你的每一个。它应该是('.show a')

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

我必须存在的元素股利。

$('#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 2010-02-02 14:01:45