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

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-26 10:51:52  来源:igfitidea点击:

Making visible object hidden and hidden object visible

javascript

提问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 objis 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 ifjust use else

编辑:你可以简化它,你不需要else if只是使用else

回答by Ale? Kotnik

And even shorter version which checks for existance of obj_idbefore assignment, so in the case there is no obj_idin DOMit doesn't trigger exception:

甚至更短的版本,检查的所有脑干obj_id分配之前,所以在情况下,没有obj_idDOM它不会触发异常:

function DisplayMenu(obj_id) {
  var obj = document.getElementById(obj_id);
  obj && obj.style.visibility = (obj.style.visibility == 'visible') ? 'hidden' : 'visible';
}