2014-06-11 94 views
0

我正在处理我的项目的一些需求,其中一个要求是在客户端隐藏/取消隐藏Div(项目使用.net技术,div的可见性将使用JS在客户端进行设置)javascript在div中的可见性

代码段:

var block = document.getElementById('Your_Div_Id'); 
block.style.display = "none"; //some where it works to hide 
block.style.visibility = "hidden"; //some where it works to hide 

我的问题是为什么呢?

这只是命中和试用。第一个不在一个地方工作,所以我用第二个。我不知道为什么...

+0

你能否重申你的实际问题? –

+0

不确定为什么你的浏览器不喜欢第一个。只需尝试以下操作即可看到显示无完全删除元素,并使以下元素向上移动:http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_style_display2 – Lin

+0

仔细检查div的实际ID通过在Web浏览器中查看页面源。 ASP.net webforms可以很好地利用服务器控件的ID,并使其在客户端上具有完全不同的特性。 –

回答

1

请记住,显示:无和可见性:隐藏是不同的。 第一个从DOM中“删除”节点,其他节点可以取代它。 第二个隐藏隐藏,但节点保留它的位置和大小。

提示:尝试使用jQuery

$("#foo").hide(); 
+0

不要误解我的意思,我爱jQuery。仅仅为此使用它是矫枉过正的。 –

2

在你不情况下要使用jQuery,请确保您的元素的ID是唯一的,并且在JavaScript代码

,你也可以尝试写正确设置在一行中的代码如下:

document.getElementById("element-id").style.display="none";