我收到一個錯誤,當我調用元素的方法時,說'對象預期'。即使頁面上存在該元素,我也會收到此錯誤。無法在jquery中找到元素
$('#asdf').text();
我在pagemethod的Onsucceed方法中調用此方法。它背後的原因是什麼?
我收到一個錯誤,當我調用元素的方法時,說'對象預期'。即使頁面上存在該元素,我也會收到此錯誤。無法在jquery中找到元素
$('#asdf').text();
我在pagemethod的Onsucceed方法中調用此方法。它背後的原因是什麼?
也許你沒有對Jquery的引用?
嘗試$('#asdf')。length並檢查它是否選擇任何內容。 另一個可能的問題是,你儘量選擇元素之前的DOM準備
$(function(){
$('#asdf').text();
});
時會發生DOM準備
可能是幾件事情,在這種情況下,它可能無法找到$('#asdf')
,所以請確保您的ID與頁面上的元素相同。
檢查已導入的Jquery正確地將因爲它可能無法識別$
最後,確保在頁面加載完成後您的代碼運行。
$(document).ready(function() {
//code
});
我想你會在頁面加載完成之前這樣做。
嘗試
jQuery(function($){
alert($('#asdf').text());
});
具體什麼是被期待的 '對象'?如果是$
那麼這意味着您的網頁上未包含jquery.js
,或者其路徑不正確。
如果包括jQuery的,那麼你可以測試是否使用頁面上存在的元素:
if ($("#asdf").length > 0) {
alert("asdf esixts");
}
else {
alert("asdf DOES NOT exist");
}
最後,確保你把你的代碼的文件準備處理程序中:
$(document).ready(function() {
// your code here
});
可能通過適當參考JQuery的文件來解決。您可能在一個子目錄中並且需要更改路徑。
或者你可能有一個類似的代碼;
$("#form1").validate({
debug: true,
.....
如果你有,false改爲true
我假設你在IE中得到這個錯誤。這可能發生在你有一個id爲asdf的元素時,那麼你在某個Ajax調用(或者替換它)後以某種方式刪除了它。你可以嘗試$(「[id = asdf]」)。text()並查看它是否失敗。如果沒有,當我是對的。 這是由於以下事實:(IMO)IE將ID中的所有元素保留在散列中,並且在元素被替換時不會替換散列中的指針。
嘗試$('#asdf')。length並查看它是否選擇了任何內容 – gdoron
您是否加載了jQuery? –
發佈所有相關的代碼和標記。 – Strelok