我想實現一些非常基本的東西,但jquery沒有做我期望的東西!我有一個ID爲「東西」的div。在CSS中,我將display屬性設置爲「none」,目的是用jquery進行更改。這種方式div是隱藏的,除非用戶啓用了js。我的jQuery代碼只是奇怪的jquery行爲
$("#stuff").show();
不幸的是,這是行不通的,div仍然隱藏。
更新:它現在似乎在INTERMITENTLY工作在Chrome和IE8。仍然沒有在ff。
我想實現一些非常基本的東西,但jquery沒有做我期望的東西!我有一個ID爲「東西」的div。在CSS中,我將display屬性設置爲「none」,目的是用jquery進行更改。這種方式div是隱藏的,除非用戶啓用了js。我的jQuery代碼只是奇怪的jquery行爲
$("#stuff").show();
不幸的是,這是行不通的,div仍然隱藏。
更新:它現在似乎在INTERMITENTLY工作在Chrome和IE8。仍然沒有在ff。
確保你的代碼運行時,DOM是準備好了,這樣的:
$(function() {
$("#stuff").show();
});
$(function() {})
is short for $(document).ready(function() { });
,當DOM準備就緒,例如這個運行的代碼你的div實際上是在那裏找到的。否則,您的選擇器(除非這是在<body>
的末尾)可能沒有找到任何東西。您可以通過將alert($("#stuff").length);
放在您的代碼所在的位置(如果它提示0
)來看到這一點,這很可能是問題所在。
這不僅僅是類似的問題,而是在實際的html內容被解析到DOM之前運行你的函數,所以它不存在。通過在DOM完全加載時運行該函數,您的div將處於可能範圍內。 – RobertPitt 2010-06-01 14:33:47
查看上面的評論...另外,雖然我沒有嘗試過警報,但是當我檢查螢火蟲中的HTML時,它確實按照預期顯示爲具有原始CSS規則的DOM的一部分。 – musoNic80 2010-06-01 14:34:00
@ musoNic80 - 警報顯示什麼?忽略我們提供的調試技巧,只提供一行代碼而沒有標記並不是找到問題的最佳方法... – 2010-06-01 14:38:38
你是否已將它包裝在'ready'處理程序中? – Sarfraz 2010-06-01 14:11:07
你能發佈所有相關的代碼嗎? – 2010-06-01 14:13:04
適合我; http://www.jsfiddle.net/unTWA/ – Matt 2010-06-01 14:13:19