2013-05-21 148 views
0

我確定我的問題的答案在這裏,但我找不到它。如果我有重複,我很抱歉。隱形DIV不適用於JavaScript

我有一個DIV,我根據我拉回的數據在頁面加載時設置其可見性。

所以在後面的代碼:

this.divMyDiv.Visible = false

然後如果用戶改變下拉值我試圖展現DIV

var div = document.getElementById('divMyDiv'); 
div.style.display = 'block'; 

如果DIV被設置爲可見在初始頁面加載後面的代碼都很好。當我更改下拉值時,DIV將顯示並隱藏。但是,當頁面加載時隱藏DIV時,JavaScript中的var div始終爲空。我試過var div = document.getElementById('<%=divMyDiv.ClientID%>');但我得到了相同的結果。我也嘗試將JS移動到頁面的底部。相同的結果。

+1

希望我可以標記多個答案。標出了我一起跑的那個人。謝謝大家。 – Fred

+0

@downvoter如果你能留下評論,那就好了,所以我知道我在這個問題上出錯了。 – Fred

回答

0
this.divMyDiv.Visible = false 

...將阻止所有正在呈現div和JavaScript不能找到它。如果你仍然想渲染它並使用display:none隱藏它,你會想要做;

this.divMyDiv.Style["display"] = "none"; 
0

將服務器端的aspx控件設置爲Visible = false意味着該控件在Html響應中根本不會呈現,因此它在所有客戶端都無法使用。您需要渲染它(Visible=true),然後使用css隱藏控件,例如style='display:none'或類似的。另請參見Question regarding Visible=false and display:none;

0

在代碼使用後面

代替 this.divMyDiv.Visible =假 使用本 divMyDivAttributes.Add( 「顯示」, 「無」);

然後它會被JavaScript渲染和您的其他Java腳本函數將正常運行過