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

如何实现按钮点击切换元素的显示与隐藏?

问题修正方案

核心错误及修正步骤

  • 类名参数多余的.:classList.toggle()的参数是纯类名,不需要加CSS选择器的.符号,把.cart-show改成cart-show即可。
  • 箭头函数语法错误:你用数组括号[]包裹函数体,这会导致执行异常,应该换成块级大括号{}。
  • 缺失初始隐藏样式:.product-container默认没有设置display: none,第一次点击无法实现从隐藏到显示的切换,需要补充该初始样式。

修正后完整代码

JavaScript

let showCart = document.querySelector(".product-container");
let cart = document.querySelector(".cart");

cart.addEventListener("click", () => {
  showCart.classList.toggle("cart-show")
});

CSS

.cart {
  margin-left: 85rem;
}

.product-container {
  display: none; /* 补充初始隐藏样式 */
}

.cart-show {
  display: block;
}

.cart a {
  filter: invert(43%) sepia(32%) saturate(310%) hue-rotate(347deg) brightness(90%) contrast(88%);
  width: 0rem;
}

span {
  position: absolute;
  margin-left: 2rem;
  margin-top: -1.3rem;
}

HTML

<li class="nav-item cart">
  <a class="nav-link">
    <img src="./assets/icons/cart shopping icon.svg" alt="cart icon"><span>0</span></a>
</li>

<div class="product-container">
  <div class="product-header">
    <h5 class="product-title"></h5>
    <h5 class="price"></h5>
    <h5 class="quantity"></h5>
    <h5 class="total"></h5>
  </div>

  <div class="products">

  </div>
</div>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 11:50:45