首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery中的简单循环迭代器

jQuery中的简单循环迭代器
EN

Stack Overflow用户
提问于 2015-06-19 20:02:41
回答 3查看 858关注 0票数 4

一个非常简单的问题。如何在简单的for循环中生成以下脚本:

代码语言:javascript
复制
jQuery(document).ready(function(){
    jQuery("#toggle-0").click(function(){
        jQuery("#toggle-list-0").slideToggle(500);
    });
    jQuery("#toggle-1").click(function(){
        jQuery("#toggle-list-1").slideToggle(500);
    });
    jQuery("#toggle-2").click(function(){
        jQuery("#toggle-list-2").slideToggle(500);
    });
});

for循环与Python中的相同:

代码语言:javascript
复制
for i in range(3): a, b = "#toggle-" + str(i), "#toggle-list-" + str(i)

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-06-19 20:42:48

你的代码违反了枯燥原则。

  1. 没有必要为每个事件处理程序设置一个单独的ready块。
  2. 您应该考虑使用类和类选择器来代替ID选择器,并使用DOM遍历方法 of jQuery的强大功能来选择目标元素。
  3. 在这里使用循环是一个糟糕的选项/没有必要。大多数jQuery方法的设计都是为了在幕后迭代集合。

下面是一个使用逗号分隔的选择器的示例:

代码语言:javascript
复制
jQuery(document).ready(function($){
    $("#toggle-0, #toggle-1, #toggle-2").click(function() {
        var num = this.id.replace('toggle-', '');
        $("#toggle-list-" + num).slideToggle(500);
    });
});

上面的片段是缩小原始代码的一种方法,但是假设您想要向选择器再添加10个ID。现在,您的代码是不可维护的,没有任何意义。使用类代替。

票数 2
EN

Stack Overflow用户

发布于 2015-06-19 20:05:47

在文档就绪回调的内部使用for循环进行迭代。确保关闭i,使其不会在单击事件处理程序中更改。

代码语言:javascript
复制
jQuery(document).ready(function(){
    for(var i = 0 ; i < 3; i++){
        (function(i){
            jQuery("#toggle-"+i).click(function(){
                jQuery("#toggle-list-"+i).slideToggle(500);
            });
        })(i)
    }
});
票数 2
EN

Stack Overflow用户

发布于 2015-06-19 20:07:50

代码语言:javascript
复制
$(document).ready(function(){
   for(i = 0; i < 3; i++)
   {  
      $('#toggle-'+i).click(function(){
        $('#toggle-list-'+i).slideToggle(500);
      });     
   };
});

但我强烈建议把身份证改成名字;

不需要切换0;toggle 1;toggle 2,只需将一个名称=toggle放在这里,而只需得到这样的切换数组:

var toggles = $('toggle');

并与之合作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30946401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档