You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用jQuery的按钮点击后无法隐藏.red和.yellow类div的原因是什么?

问题解决

核心错误是你使用了错误的jQuery多元素选择器语法:

  • 你写的$('.red', '.yellow')是jQuery的上下文选择器写法,含义为查找所有.yellow元素内部的.red元素,你的页面中红黄div是平级关系,没有嵌套,所以匹配不到任何元素,点击没有响应。
  • 正确的多元素选择器需要把所有选择规则放在同一个字符串内,用逗号分隔:$('.red, .yellow')

你之前尝试用toggleClass绑定visibility: hidden的类没生效也是同样的原因,选择器没有匹配到目标元素,修正选择器语法后两种写法都可以正常运行。

修正后的完整JS代码如下:

$(document).ready(function() {
  $('#option_blue').click(function() {
    $('.red, .yellow').toggle();
  })
})

如果你后续需要扩展红、黄按钮的同类功能,可以用更通用的写法,避免重复写事件绑定:

  1. 给所有颜色按钮加统一类名与自定义属性,示例:
<button class="color-toggle" data-color="blue">blue</button>
<button class="color-toggle" data-color="red">red</button>
<button class="color-toggle" data-color="yellow">yellow</button>
  1. 通用事件代码:
$(document).ready(function() {
  $('.color-toggle').click(function() {
    const targetColor = $(this).data('color');
    // 选中所有颜色块,排除和按钮匹配的,执行切换显示
    $('.flex > div').not(`.${targetColor}`).toggle();
  })
})

内容的提问来源于stack exchange,提问作者Proklas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 22:54:07