2013-05-31 55 views
1

我有一個div那是知名度狀態在服務器端確定和設置像這樣:檢查服務器端的div可見

myDiv.Visible = true; 

我無法在客戶端上正確的知名度雖然狀態。我試過檢查:

document.getElementById('ctl00_ContentPlaceHolder1_myDiv').style.display 

看看它是塊還是內聯。我也檢查了可見性屬性。所有這些都只是設置爲空字符串。

我也使用jQuery嘗試:

if ($('#ctl00_ContentPlaceHolder1_myDiv').is(":visible")) 

但它返回false。我已經驗證了jQuery正在查找div。如何可靠地檢查div是否可見?

+0

如果你在firebug或chrome控制檯中運行'$('ctl00_ContentPlaceHolder1_myDiv')',你可以看到jQuery是否可以找到你的選擇器 – PKeidel

+0

我已經驗證了div是由jQuery找到的。 – Legion

回答

4

Visible在.NET中沒有設置CSS樣式,它只會影響div是否在你的html中。如果將其設置爲false,則html頁面上將不會有div。

您從樣式中獲得的空字符串可能是正確的,並且該屬性被設置爲默認樣式。

你的jQuery缺少'#'。 if ($('#ctl00_ContentPlaceHolder1_myDiv').is(":visible"))

總之:只需檢查div是否存在,然後知道它是否在服務器上聲明Visible

+0

缺少'#'是寫作問題時的錯誤。但它存在於我的代碼中。我已經更新了這個問題來反映這一點。 – Legion