简体   繁体   English

使用JavaScript切换元素的可见性

[英]Toggle visibility of an element with JavaScript

Trying to toggle the visibility of an element with JavaScript. 尝试使用JavaScript切换元素的可见性。 It's working, but I have to click once first, which of course isn't optimal. 它正在工作,但是我必须先单击一次,但这当然不是最佳选择。 Can someone point out to me why this isn't working properly? 有人可以指出为什么这不能正常工作吗?

 function toggle_visibility(id) { var e = document.getElementById(id); if(e.style.display == 'block') e.style.display = 'none'; else e.style.display = 'block'; } 
 #foo { display: block; } 
 <a href="#" onclick="toggle_visibility('foo');">Click here to toggle visibility of element #foo</a> <div id="foo">This is foo</div> 

Reverse your if and else tests. 颠倒您的ifelse测试。 JavaScript can't read CSS properties from style unless it explicitly sets them: JavaScript不能从style读取CSS属性,除非它明确设置了它们:

 function toggle_visibility(id) { var e = document.getElementById(id); if(e.style.display == 'none') e.style.display = 'block'; else e.style.display = 'none'; } 
 #foo { display: block; } 
 <a href="#" onclick="toggle_visibility('foo');">Click here to toggle visibility of element #foo</a> <div id="foo">This is foo</div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM