【问题标题】:bug in add remove class with if else [closed]使用 if else 添加删除类中的错误 [关闭]
【发布时间】:2013-07-22 11:55:23
【问题描述】:

这是我的 Javascript 代码

$('.lable_item').click(function () {
    if (!$(this).hasClass('label_act')) {
        $(this).addClass('label_act');
    } else {
        $(this).removeClass('label_act');
    }
});

这是我的 HTML 内容

<div class="layout">
   <label class="lable_item"><input type="checkbox" />label</label>
   <label class="lable_item label_act"><input type="checkbox" />label</label>
   <label class="lable_item"><input type="checkbox" />label</label>
</div>

我想在标签标签上添加/删除类。如果标签有“label_act”,那么它将被删除,否则添加类“label_act”

【问题讨论】:

  • 什么是错误?
  • 好的。你有什么样的错误?您是否在控制台中遇到错误?您希望它做什么以及它会做什么?
  • 使用这个代码 $('.lable_item').click(function () { $(this).toggleClass('.label_act '); });
  • @Spokey:太好了!我们终于找到了"THE BUG"

标签: jquery html


【解决方案1】:

DEMO

$('.lable_item').find(':checkbox').on('change',function () {
    var $label = $(this).closest('label');
    $label.toggleClass('label_act',this.checked)
});

【讨论】:

    【解决方案2】:

    为了在您单击时不会运行 2 次,您必须使用 input 而不是 label

      $('.layout input').click(function () {
          $(this).parent().toggleClass('label_act')
      });
    

    FIDDLE

    【讨论】:

      猜你喜欢
      • 2021-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多