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

CSS添加.stn样式可正常生效,通过JS添加同类后样式不显示如何解决

问题原因及修复方案

你一共存在两个需要修正的问题:

  1. JS 中 classList 操作的类名多写了前缀.
    classList.add()、classList.remove() 方法传入的参数直接是类名字符串,不需要加 CSS 选择器里的类前缀.。你现在的代码相当于给元素添加了名为.stn的类,自然无法匹配 CSS 里.stn选择器对应的样式。
    修正所有 JS 中类操作的代码,把所有类似:
home.classList.add('.stn');
work.classList.remove('.stn');
about.classList.remove('.stn');

写法里的.stn都改成stn即可:

home.classList.add('stn');
work.classList.remove('stn');
about.classList.remove('stn');
  1. CSS 选择器优先级不足,会被原有规则覆盖
    你现有的.stn是单类选择器,优先级低于nav ul li a这种多层标签选择器,就算类添加正确,样式也会被默认规则覆盖。你需要把.stn的选择器权重提高,修改为:
nav ul li a.stn {
  text-decoration: line-through;
  /* THIS IS THE STYLE BEING APPLIED */
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 17:54:06