Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将显示属性指定给变量_Javascript_Function_Variables - Fatal编程技术网

Javascript 将显示属性指定给变量

Javascript 将显示属性指定给变量,javascript,function,variables,Javascript,Function,Variables,我试图优化和缩短我的函数,我使用obj.style.display='block'很多次。我能把它分配给一个可以重用的变量吗 以这个例子为例 document.getElementById('example').visible; 其中.visible是.style.display='block'的变量 谢谢您可以定义一个函数 function set_visible(obj, visibility) { obj.style.display = visibility; } 无法在变量中

我试图优化和缩短我的函数,我使用
obj.style.display='block'很多次。我能把它分配给一个可以重用的变量吗

以这个例子为例

document.getElementById('example').visible;
其中
.visible
.style.display='block'的变量


谢谢

您可以定义一个函数

function set_visible(obj, visibility) {
    obj.style.display = visibility;
}

无法在变量中存储属性链。

如果您不反对js库,为什么不使用jQuery?这样,您就可以真正简化:-

$("#example").show();

您可以尝试以下方法:

function setDisplay (obj, display) {
   obj.style.display = display;
}

setDisplay(document.getElementById('test'), 'block');
如果你想让它看起来更好,你也可以试试这样的东西:

function getById(id) {
   var obj = document.getElementById(id);
   obj.display = function (display) {
       this.style.display = display;
   };

   return obj;
}

var test = getById('test');
test.display('block');

最后,如果你打算大量使用DOM操作,你可以使用一个简化DOM操作的框架,比如jQuery。

既然OP希望优化他的代码,我怀疑为这么简单的东西包括一个完整的库是否是答案。很公平,考虑到jquery实际上仍然是JavaScript,这是一个足够公平的答案,得了吧,谁不使用库,没有人有时间为多浏览器bug编写代码/issues@YusafKhaliq-你误解了我对这个问题的评论。我和下一个家伙一样喜欢jQuery,但是OP正在寻求优化他的代码,虽然jQuery肯定是实现最终目标的一种方式,但它肯定不会帮助OP优化任何东西。我知道你在说什么,我不是在补充你,但是:P是DownVotes,我正要回答完全相同的问题。。。这就是我喜欢javascript的地方,你可以在移动中扩展对象的方式这仍然让我困惑:P,我总是找到自己的出路,而且在记录你的工作时,它让事情变得简单了很多,因为现在人们在使用纯ol'javascript之前遇到jquery,所以它也让你的工作更容易“他们”:P要使用,我认为最接近的方法是使用新方法扩展
对象
(或
HTMLElement
)的原型。然后像
document.getElementById('example').visible('none')那样使用它
设置并
document.getElementById('example').visible()以获取。但是这并不酷。@dfsq在可见性的情况下,您可以始终多填充HTML5
hidden
属性。