为什么我设置的CSS font-weight属性没有实际生效?
问题根因
你代码中用于读取、设置元素类名的.class不是DOM元素的标准属性,该赋值操作不会实际修改元素的类名,因此你的CSS类无法匹配到目标元素,样式不生效。
修复方案
方案1:替换为标准className属性
将所有.class改为.className即可,修改后代码如下:
function bold() { var selectedcell=document.querySelector('.selected-cell'); var target = selectedcell.children[0]; if(target.className == "normal") { target.className = "bold"; } else { target.className = "normal"; } console.log(target); }
方案2:使用更安全的classListAPI(推荐)
如果后续元素可能新增其他类名,使用classList操作不会覆盖已有类,还可以直接用toggle方法简化判断逻辑:
function bold() { var selectedcell=document.querySelector('.selected-cell'); var target = selectedcell.children[0]; target.classList.toggle('normal'); target.classList.toggle('bold'); }
内容的提问来源于stack exchange,提问作者Vatsal Mehta
相关产品推荐
相关产品推荐

