2012-01-15 41 views
1

所以,我想切换使用javascript一个div层的可见性,这是​​什么样子:如何在javascript中使用JavaScript切换div的可见性? (IE和Chrome做工精细)

document.all["layer1"].style.visibility='visible'; 

document.all["layer1"].style.visibility='hidden'; 

会是什么如果我试图在Firefox中使用它,语法看起来像这样?如果我知道,那么我会添加一个if语句来检查浏览器是否是Firefox,并使用替代代码。

+0

document.all通常在Firefox中使用,如果按照您的描述使用。如果它不适合你,你最近怎么使用它?你能发布一个链接到一个完整的页面显示问题? – 2012-01-16 05:30:12

回答

3

document.all是一个不支持的功能,也不是在规范的DOM(Here更上)。你将不得不通过另一种方法抓住div。

querySelector

document.querySelector('div#layer1').style.visibility = 'hidden';  
document.querySelector('div#layer1').style.visibility = 'visible'; 

OR

getElemenyById

document.getElementById('layer1').style.visibility = 'hidden'; 
document.getElementById('layer1').style.visibility = 'visible'; 

是两种主要的方法。

2

请勿使用document.all[]。它不受所有浏览器的支持,主要是IE4时代的一件神器。而是使用document.getElementById()访问<div>的id属性:

document.getElementById("layer1").style.visibility = 'hidden'; 
document.getElementById("layer1").style.visibility = 'visible'; 
+0

是的,我从90年代印刷的书中学到了JavaScript,因此很有意义。我会尝试 – 2012-01-15 18:52:17

+0

@AlexDatcu哦,通过一切手段获得一些新书!自那时以来,JavaScript已经非常成熟。我推荐Douglas Crockford的JavaScript:好的部分和David Flanagan的Javascript:权威指南 – 2012-01-15 18:54:03

+0

谢谢!我会看看我能否得到其中的一个 – 2012-01-15 18:57:42