2011-03-09 54 views
3

我無法通過特定類的div進行簡單的迭代。

有兩個div,但我得到14次迭代。

$(function() { 
     $.each("div.container", function(){ 
     alert("test"); 
     }); 
    }); 

和HTML

<div id="div1" class="container"> 

</div> 

<div id="div2" class="container"> 

</div> 

任何人都可以解釋我做錯了什麼?由於提前

+1

$ .each:http://api.jquery.com/jQuery.each/和$()。each():http://api.jquery.com/each/是不同的 – JohnP 2011-03-09 06:46:41

+0

我想你獲得13次迭代而不是14次。您正在迭代'div.container'中的字符。 :) – GolezTrol 2011-03-09 06:51:00

回答

7

試試這個

$(function() { 
     $("div.container").each(function(){ 
     alert("test"); 
     }); 
    }); 
6

你應該使用下列內容:

$(function() { 
    $("div.container").each(function(){ 
     alert("test"); 
    }); 
}); 

$.each.each之間的很大的區別

第一種方法是用於遍歷數組和對象的泛型迭代器函數,其中後一種方法用於循環訪問jQuery對象集合。

當您致電$.each('div.container'),時,您實際上是將字符串的每個字母作爲函數參數傳遞。由於div.container包含13個(是,13)字符,所以迭代被稱爲13次(​​)。

+0

感謝堆詳細的解釋。 – xiatica 2011-03-09 06:58:18

0
$(function() { 
     $.each($("div.container"), function(){ 
     alert("test"); 
     }); 
}); 
0

如果您想使用$。每()

你必須把jQuery的對象中的參數,但不選擇文本

 $(function() { 
     $.each($("div.container"), function(){ 
     alert("test"); 
     }); 
    }); 
0
$('div.container').each(function() { 
    alert('test'); 
}); 

這就是你需要真的,哈哈。 ; D

相關問題