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

onclick触发showComment后内容闪显即消失的技术求助

问题排查与解决:点击分类标签后内容短暂显示即消失

问题原因

你代码里的分类名称包裹在<a href="">标签中,空的href属性会触发浏览器页面自动刷新逻辑。虽然showComment()函数确实执行并把分类ID写入了count元素,但页面刷新后所有DOM状态都会重置,所以你只能看到内容短暂显示后立刻消失。

解决办法

提供两种简单可行的方案:

方案1:修改<a>标签的跳转行为

把空的href=""替换成href="javascript:void(0)",点击时不会触发页面刷新,同时保留<a>标签的默认样式:

const displaycategory = data => {
  const category = document.getElementById('category');
  category.innerHTML = ``;
  for (let it = 0; it < data.length;it++)
  {
    const div = document.createElement('div');
    div.innerHTML = `
    <div onclick="showComment(${data[it].category_id})">
      <a href="javascript:void(0)" class="hover:underline underline-offset-[10px]">${data[it].category_name}</a>
    </div>
      `;
    
    category.appendChild(div);
  };
}

方案2:移除<a>标签,用普通元素模拟链接样式

如果不需要<a>标签的语义,直接把分类名称放在可点击的<div>里,添加对应的样式即可:

const displaycategory = data => {
  const category = document.getElementById('category');
  category.innerHTML = ``;
  for (let it = 0; it < data.length;it++)
  {
    const div = document.createElement('div');
    div.innerHTML = `
    <div onclick="showComment(${data[it].category_id})" class="hover:underline underline-offset-[10px] cursor-pointer">
      ${data[it].category_name}
    </div>
      `;
    
    category.appendChild(div);
  };
}

内容的提问来源于stack exchange,提问作者MD.Athar Ishrak

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 22:02:34