【问题标题】:Jquery toggleclass not working, following the example nearly word for wordJquery toggleclass 不工作,按照示例几乎逐字逐句
【发布时间】:2013-09-24 09:44:29
【问题描述】:

我对 Jquery 还很陌生,因此有一些菜鸟问题......

当用户单击链接时,我一直在尝试按照此操作来打开和关闭课程,我现在得到了它,这样如果用户单击 id="22" 的链接,它将勾选带有 id 的复选框="tick_22",我现在要做的是添加一些用户反馈,以便在勾选复选框时链接改变颜色。我试图按照 Jquery 网站 http://api.jquery.com/toggleClass/ 上的示例进行操作 ,但由于某种原因它不起作用?我不确定我需要使用 (this.class) 还是只使用 (this) ?。

    $(document).on('click', '.selectlink', function () {
         var myId = $('#check_' + this.id);
         if ($(myId).is(':checked')) {
         $(myId).prop('checked', false);
         $(this).toggleclass( activeselectlink, addOrRemove );
         }
         else {$(myId).prop('checked', true);
         $(this).toggleclass( activeselectlink, addOrRemove );
         }
         countChecked();
    });
    });
    </script>

【问题讨论】:

  • toggleClass... 我不介意你练习 toggleClass 但你也可以使用 css .selectlink:active{color:red} 来设置活动元素的样式,或者使用 .selectlink:focus{color:red} 来设置焦点 :)
  • css的问题是如果用户再次点击链接禁用文本框,链接仍然会显示为被点击。
  • 请也分享您的html
  • activeselectlinkaddOrRemove 的值以及它是如何变化的
  • @lainSimpson,是的,没怎么注意到这个场景! :)

标签: javascript jquery class this toggleclass


【解决方案1】:

检查您的情况,Javascript/jQuery 使用 Camel 案例..即将其命名为 toggleClass 而不是 toggleclass .. http://api.jquery.com/toggleClass/

【讨论】:

  • 您打印/console.log this.id 了吗?我建议最好使用 jQuery.data() 函数来查找相关 id 而不是这种方法。
【解决方案2】:

你可以把类切换到"class2toggle":

$(this).toggleClass("activeselectlink"); // this should work

【讨论】:

  • 谢谢!,明白了 :)
【解决方案3】:

大小写错误。

先检查一下:

.toggleClass 而不是 .toggleclass

【讨论】:

    【解决方案4】:

    首先是.toggleClass() 而不是.toggleclass()

    其次,变量addOrRemove 没有在任何地方声明。它应该是一个布尔类型的变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-21
      • 2014-06-17
      • 2013-03-20
      • 1970-01-01
      • 2020-05-23
      相关资源
      最近更新 更多