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

发布于 2024-10-20 17:48:08 字数 368 浏览 2 评论 0原文

我在对特定类的 div 进行简单迭代时遇到困难。

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

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

html

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

</div>

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

</div>

任何人都可以解释我做错了什么吗?在此先感谢

I'm having trouble doing a simple iterate through divs of a particular class.

There's two divs, but I'm getting 14 iterations.

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

and the html

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

</div>

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

</div>

can anyone explain what i'm doing wrong? Thanks ahead

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

一直在等你来 2024-10-27 17:48:08

试试这个

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

try this

$(function() {
      $("div.container").each( function(){
         alert( "test" );
      });
   });
み青杉依旧 2024-10-27 17:48:08

您应该使用以下内容:

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

$.each 之间存在很大的差异 .each

第一个方法是通用迭代器函数,用于迭代数组和对象,其中后一个方法用于循环遍历 jQuery 对象的集合。

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

You should use the following:

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

There is a big difference between $.each and .each.

The first method is a generic iterator function that is used for iterating over arrays and objects, where the latter method is used for cycling through a collection of jQuery objects.

When you are calling $.each('div.container'), you are actually passing each letter of the string as the function argument. Since div.container contains 13 (yes, 13) characters, the iteration is called 13 times (see example).

很酷不放纵 2024-10-27 17:48:08
 $(function() {
      $.each($("div.container"), function(){
         alert( "test" );
      });
 });
 $(function() {
      $.each($("div.container"), function(){
         alert( "test" );
      });
 });
凉墨 2024-10-27 17:48:08

如果你想使用 $.each()

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

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

If you want to use $.each()

You have to put the jquery objects in the parameter but not the selector text

      $(function() {
      $.each($("div.container"), function(){
         alert( "test" );
      });
   });
骑趴 2024-10-27 17:48:08
$('div.container').each(function () {
    alert('test');
});

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

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

That's all you need really, haha. ;D

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文