2010-02-02 122 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