2014-06-11 35 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";