javascript 使可见对象隐藏和隐藏对象可见
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/10734409/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Making visible object hidden and hidden object visible
提问by Cute Bear
I have a javascript function that is supposed to make visible objects hidden and hidden objects visible. since I lack of basic javascript knowlegde, I came here to ask help from you :/ Can someone help me out with my code so that I can learn a little?
我有一个 javascript 函数,它应该使可见对象隐藏和隐藏对象可见。由于我缺乏基本的 javascript 知识,所以我来这里是为了向您寻求帮助:/ 有人可以帮我解决我的代码,以便我可以学到一些东西吗?
function DisplayMenu(obj) {
if (obj.style.visibility == 'visible') {
obj = document.getElementById(obj);
obj.style.visibility = 'hidden';
}
else if (obj.style.visibility == 'hidden') {
obj = document.getElementById(obj);
obj.style.visibility = 'visible';
}
}
回答by HymanJoe
You need to define what obj
is before the if
:
您需要定义obj
在 之前的内容if
:
function DisplayMenu(obj) {
var obj = document.getElementById(obj);
if (obj.style.visibility == 'visible') {
obj.style.visibility = 'hidden';
}
else {
obj.style.visibility = 'visible';
}
}
EDIT: You could simplify it, you don't need the else if
just use else
编辑:你可以简化它,你不需要else if
只是使用else
回答by Ale? Kotnik
And even shorter version which checks for existance of obj_id
before assignment, so in the case there is no obj_id
in DOM
it doesn't trigger exception:
甚至更短的版本,检查的所有脑干obj_id
分配之前,所以在情况下,没有obj_id
在DOM
它不会触发异常:
function DisplayMenu(obj_id) {
var obj = document.getElementById(obj_id);
obj && obj.style.visibility = (obj.style.visibility == 'visible') ? 'hidden' : 'visible';
}