Javascript 如何使元素在React.JS中按类名消失?
我想在React中制作一个主题选择器。但是当我使用Javascript 如何使元素在React.JS中按类名消失?,javascript,reactjs,Javascript,Reactjs,我想在React中制作一个主题选择器。但是当我使用 document.getElementsByClassName[0].style.setProperty(“显示”、“无”); 要使元素消失,它将返回 TypeError:无法读取未定义的属性“setProperty” 有没有一种方法可以修复这个错误,或者用另一种方法使元素消失?提前感谢。当您尝试获取元素时,需要将类名作为参数传递,如下所示 document.getElementsByClassName('test') 然后,您可以尝试:
document.getElementsByClassName[0].style.setProperty(“显示”、“无”);
要使元素消失,它将返回
TypeError:无法读取未定义的属性“setProperty”
有没有一种方法可以修复这个错误,或者用另一种方法使元素消失?提前感谢。当您尝试获取元素时,需要将类名作为参数传递,如下所示
document.getElementsByClassName('test')
然后,您可以尝试:
document.getElementsByClassName('test')[0].style.setProperty("display", "none")
一个小剪子:
按钮。addEventListener(“单击”,()=>{
文件
.getElementsByClassName(“测试”)[0]
.style.setProperty(“显示”、“无”);
});代码>
元素
隐藏它
- 假设你有'class=“0”-不要。即使可以,也不要使用数字ID和类名
- 更改为更好的类名,如主题
- 使用document.querySelector(“.theme”)获取第一个
- 使用document.queryselectoral(“.theme”)获取所有这些文档
你可以用
document.querySelector(".theme").style.display="none";
或
隐藏它
如果不使用flex,也可以使用它
document.querySelector(".theme").setAttribute("hidden",true)
我会使用document.querySelector来代替日期为“0”的getElementsByClassName,OP在getElementsByClassName
上有问题,这就是我的答案中也有这个问题的原因:)但是是的,有几种方法可以获取DOM元素。即使类是“0”,OP仍然需要。getElementsByClassName(0)[0]
否.getElementsByClassName(“0”)[0]
仍向我提供错误类型错误:无法读取null的属性“style”
。我使用的是document.querySelector(“.dark”).style.display=“none”代码>
document.querySelector(".theme").setAttribute("hidden",true)