我想使用JQuery的選擇器獲取元素,但即使元素實際存在,也不會找到它。而且,我實際上可以使用getElementById來查找元素。什麼可能導致JQuery的選擇器崩潰?
例如:
$( '#outputDiv')給了我一個空值。但是document.getElementById(「outputDiv」)會返回我正在嘗試訪問的Div。
有什麼想法?
我想使用JQuery的選擇器獲取元素,但即使元素實際存在,也不會找到它。而且,我實際上可以使用getElementById來查找元素。什麼可能導致JQuery的選擇器崩潰?
例如:
$( '#outputDiv')給了我一個空值。但是document.getElementById(「outputDiv」)會返回我正在嘗試訪問的Div。
有什麼想法?
您是否使用任何其他可能超載$的庫?我知道例如Prototype是這樣做的。
您可能想嘗試發佈一個jQuery('#outputDiv')來查看它是否實際上是您調用的jQuery。
檢查jQuery是否實際加載。你用Firebug或其他調試器進行過測試嗎?是否報告了JavaScript錯誤?你使用另一個使用$作爲別名的庫嗎?
如果您使用的是IE7,事情發生的時間順序非常重要,如果事先聲明jQuery腳本,即在head元素中,選擇器不傾向於動態生成內容。
我們解決這個問題的方法是將代碼放在文檔的末尾。聽起來很奇怪,這是由MS記錄爲一個存在多年的錯誤。
我改變了客戶的代碼,但我並不熟悉它。仔細看後,我發現他們也在使用Prototype。 – Marcel 2009-01-23 14:18:06