为什么我的$ .each调用返回的结果多于元素?

时间:2011-03-09 06:41:24

标签: javascript jquery iteration

我在通过特定类的div进行简单迭代时遇到了麻烦。

有两个div,但我有14次迭代。

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

和html

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

</div>

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

</div>
谁能解释我做错了什么?提前谢谢

5 个答案:

答案 0 :(得分:7)

试试这个

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

答案 1 :(得分:6)

您应该使用以下内容:

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

$.each.each之间存在 重大差异

第一种方法是泛型迭代器函数,用于迭代数组和对象,后一种方法用于循环遍历jQuery对象的集合。

当您呼叫$.each('div.container')时,实际上是将字符串的每个字母作为函数参数传递。由于div.container包含13个(是的,13个)字符,因此迭代被调用13次(see example)。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

如果你想使用$ .each()

您必须将jquery对象放在参数中,而不是选择器文本

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

答案 4 :(得分:0)

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

这就是你真正需要的,哈哈。 ; d