【问题标题】:jquery click function in for loop only working in last loop [closed]for循环中的jquery click函数仅在最后一个循环中工作[关闭]
【发布时间】:2013-10-26 11:59:41
【问题描述】:

我可能在做一些明显错误的事情,但我就是看不到。我正在尝试使用 for 循环来定义多个点击事件并且遇到了意外的结果。其中一些是有效的(函数开头的隐藏和显示,但两个部分最终都针对循环中的第二个项目。有人可以看看这个并告诉我我做错了什么吗?谢谢非常感谢您的帮助!

这里是链接: http://grana.us/test/expand2.html

【问题讨论】:

  • 贴一些代码,让我们可以帮助你。
  • 有关您编写的代码问题的问题必须在问题本身中描述具体问题 - 并包含重现问题的有效代码
  • @MikeW 在这种情况下问题很明显......
  • @FlashThunder 这不是重点。如果 OP 删除链接处的页面,则问题和答案将变得毫无意义。 Stack Overflow 旨在成为可在未来使用的有用问题和答案的存档。

标签: javascript jquery for-loop click


【解决方案1】:

您正在为每个 id 的所有摘要分配相同的事件。这是错误的......

首先...要隐藏所有细节并显示所有切换器,只需使用:

$('.details').hide();
$('.toggler').show();

然后为所有摘要定义点击功能:

$('.summary').click(function(){
   if($('.toggler',this).html() == ' -'){
      $('.toggler',this).html(' +');
      $('.details',$(this).parent()).hide();
   }else{
      $('.toggler',this).html(' -');
      $('.details',$(this).parent()).show();
   }
});

把所有东西都放进去……

$(function(){
   ...
});

应该没问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-11
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    相关资源
    最近更新 更多