Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery只有第一次单击功能才能工作_Jquery_Html_Click_Addclass_Removeclass - Fatal编程技术网

jQuery只有第一次单击功能才能工作

jQuery只有第一次单击功能才能工作,jquery,html,click,addclass,removeclass,Jquery,Html,Click,Addclass,Removeclass,我希望多个元素在单击按钮后更改状态。为了实现这一点,我尝试使用jQuery函数click()(我也尝试了.on('click')版本)。出于某种原因,它只运行第一个函数,而不运行下一个函数。我100%确信这个解决方案是完全显而易见的,但我就是想不出什么能解决这个问题。我在其他项目中使用了完全相同的方法,它过去工作得很好,但现在我看不出有什么不同,但它仍然不能像预期的那样工作 HTML JS JS小提琴: 非常感谢您的帮助。您需要使用 演示: 但它可以简化为 $(document).on('cli

我希望多个元素在单击按钮后更改状态。为了实现这一点,我尝试使用jQuery函数click()(我也尝试了.on('click')版本)。出于某种原因,它只运行第一个函数,而不运行下一个函数。我100%确信这个解决方案是完全显而易见的,但我就是想不出什么能解决这个问题。我在其他项目中使用了完全相同的方法,它过去工作得很好,但现在我看不出有什么不同,但它仍然不能像预期的那样工作

HTML

JS

JS小提琴:

非常感谢您的帮助。

您需要使用

演示:

但它可以简化为

$(document).on('click', '.button-open, .button-close', function () {
    $(this).toggleClass('button-open button-close');
});
演示:

使用普通选择器注册事件处理程序时,这些事件处理程序将添加到目标元素中,因此在事件注册后对元素属性所做的任何更改都不会影响已注册的处理程序。使用事件委派时,选择器将动态计算。

您需要使用

演示:

但它可以简化为

$(document).on('click', '.button-open, .button-close', function () {
    $(this).toggleClass('button-open button-close');
});
演示:

使用普通选择器注册事件处理程序时,这些事件处理程序将添加到目标元素中,因此在事件注册后对元素属性所做的任何更改都不会影响已注册的处理程序。使用事件委派时,选择器将动态计算。

您需要使用

演示:

但它可以简化为

$(document).on('click', '.button-open, .button-close', function () {
    $(this).toggleClass('button-open button-close');
});
演示:

使用普通选择器注册事件处理程序时,这些事件处理程序将添加到目标元素中,因此在事件注册后对元素属性所做的任何更改都不会影响已注册的处理程序。使用事件委派时,选择器将动态计算。

您需要使用

演示:

但它可以简化为

$(document).on('click', '.button-open, .button-close', function () {
    $(this).toggleClass('button-open button-close');
});
演示:


使用普通选择器注册事件处理程序时,这些事件处理程序将添加到目标元素中,因此在事件注册后对元素属性所做的任何更改都不会影响已注册的处理程序。使用事件委派时,选择器将动态计算。

使用toggleClass(),您实际上不需要使用委派:非常感谢您提供了快速有效的答案并解释了问题所在:)我马上接受。祝你今天愉快@A.沃尔夫对不起。。。我不知道我在想什么-但是最好使用选择器作为
$('.button open,.button close')
使用toggleClass(),您实际上不需要使用委派:非常感谢您提供了一个快速、有效的答案并解释了问题所在:)我马上接受它。祝你今天愉快@A.沃尔夫对不起。。。我不知道我在想什么-但是最好使用选择器作为
$('.button open,.button close')
使用toggleClass(),您实际上不需要使用委派:非常感谢您提供了一个快速、有效的答案并解释了问题所在:)我马上接受它。祝你今天愉快@A.沃尔夫对不起。。。我不知道我在想什么-但是最好使用选择器作为
$('.button open,.button close')
使用toggleClass(),您实际上不需要使用委派:非常感谢您提供了一个快速、有效的答案并解释了问题所在:)我马上接受它。祝你今天愉快@A.沃尔夫对不起。。。我不知道我在想什么-但是最好使用选择器作为
$('.button open,.button close')
$(document).on('click', '.button-open, .button-close', function () {
    $(this).toggleClass('button-open button-close');
});