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

求助:点击close-button后news-bar无法隐藏的问题排查

问题解决方法

你的代码逻辑本身没问题,点击按钮没反应的核心原因是JavaScript代码执行时机不对——浏览器还没渲染出close-button和news-bar元素时,JS就已经尝试获取它们并绑定事件了,自然不会生效。

给你两种简单的修复方案:

方案1:把JS代码放到HTML末尾

将JS代码移动到</body>标签前,确保DOM元素全部加载完成后再执行JS:

<body>
  <div id="news-bar">
      <p class="news-message"> Our Website is currently being developed. Please stay patient.</p>
      <button class="news-message" id="close-button">X</button>
  </div>

  <!-- JS代码放在这里 -->
  <script>
    const closeButton = document.getElementById('close-button');

    closeButton.addEventListener('click', () => {
        const newsBar = document.getElementById('news-bar');
        newsBar.style.display = 'none';
    });
  </script>
</body>

方案2:用DOMContentLoaded事件包裹代码

如果不想移动JS位置,可通过DOMContentLoaded事件监听DOM加载完成后再执行代码:

document.addEventListener('DOMContentLoaded', () => {
  const closeButton = document.getElementById('close-button');

  closeButton.addEventListener('click', () => {
      const newsBar = document.getElementById('news-bar');
      newsBar.style.display = 'none';
  });
});

两种方法都能解决问题,选你习惯的即可。另外检查下HTML里有没有重复的id,确保close-button和news-bar是唯一的(从你给出的代码看不存在这个问题)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 06:25:06