Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么my$。每次调用返回的结果都多于元素数?_Javascript_Jquery_Iteration - Fatal编程技术网

Javascript 为什么my$。每次调用返回的结果都多于元素数?

Javascript 为什么my$。每次调用返回的结果都多于元素数?,javascript,jquery,iteration,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"> </d

我在对特定类的div进行简单迭代时遇到问题

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

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

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

</div>

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

</div>

谁能解释我做错了什么?谢谢大家

试试这个

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

您应该使用以下选项:

$(function() {
    $("div.container").each( function(){
        alert( "test" );
    });
});
和之间有很大的差别

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

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

如果要使用$.each()

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

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

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

$。each:和$()。each():是不同的。我想你得到的是13次迭代,而不是14次。您正在迭代“div.container”中的字符:)谢谢你的详细解释。
      $(function() {
      $.each($("div.container"), function(){
         alert( "test" );
      });
   });
$('div.container').each(function () {
    alert('test');
});