javascript - .removeClass 不起作用 addClass 是如何工作的?

标签 javascript jquery

请原谅我是个菜鸟,但这不应该有用吗?

$(document).ready(function() {
    $('.button').click(function() {
       $(this).addClass('button-clicked');
    });

    $('.button-clicked').click(function() {
        $(this).removeClass('button-clicked');
    });

});

第二次点击不应该删除类并将其带回 .button 吗?

在 jsfiddle 上:http://jsfiddle.net/pXdwM/

最佳答案

不,因为在您调用第二个 click() 时按钮没有“.button-clicked”,因此没有分配事件处理程序。你可以这样重写它

$('.button').click(function() {
   $(this).toggleClass('button-clicked');
});

或者使用live()

$('.button-clicked').live("click", function() {
    $(this).removeClass('button-clicked');
});

关于javascript - .removeClass 不起作用 addClass 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4395690/

相关文章:

javascript - 动态添加元素上的 mousewheel 事件

javascript - JQuery - 添加后删除 cssObject?

jquery - MVC4 缩小版 jQuery 包

javascript - 将 jQuery .each() 方法转换为 native JavaScript 抽象的最佳方法是什么?

javascript - 如何在 Gulp 中使用 Browserify lib 为模块起别名?

javascript - 如何从调用 $.getJSON 的函数返回值?

javascript - 如何拆分从 `div` 元素检索到的文本

jquery - Flickity 幻灯片标题和幻灯片编号

javascript - Bootstrap3.js 和 Wordpress jQuery v1.10.2 不能正常工作

javascript - 通过将图像分成几 block 来创建图像交换页面