setAttribute('display','none')不起作用

jas*_*n m 24 javascript dom

function classInfo(e){
    document.getElementById('classRight').setAttribute('display','none');
    alert(e);   
}
Run Code Online (Sandbox Code Playgroud)

我认为这段代码非常直接,它不起作用,并没有隐藏有问题的元素.我正在接受警报,这让我觉得没有问题.

任何帮助,将不胜感激.

Yi *_*ang 72

display不是属性 - 它是一个CSS属性.您需要访问样式对象:

document.getElementById('classRight').style.display = 'none';
Run Code Online (Sandbox Code Playgroud)

  • 另外你可以`document.getElementById("classRight").setAttribute("style","display:none;");`,但我建议你使用另一种方法. (12认同)

小智 5

尝试这个:

setAttribute("hidden", true);
Run Code Online (Sandbox Code Playgroud)

  • 两个参数都必须是字符串,因此如果您想使用此解决方案,请使用 setAttribute("hidden", "true") (4认同)
  • 显示:无和隐藏:真实做非常不同的事情 (3认同)