2011-11-29 70 views
0

我收到一個錯誤,當我調用元素的方法時,說'對象預期'。即使頁面上存在該元素,我也會收到此錯誤。無法在jquery中找到元素

$('#asdf').text(); 

我在pagemethod的Onsucceed方法中調用此方法。它背後的原因是什麼?

+0

嘗試$('#asdf')。length並查看它是否選擇了任何內容 – gdoron

+0

您是否加載了jQuery? –

+0

發佈所有相關的代碼和標記。 – Strelok

回答

0

也許你沒有對Jquery的引用?
嘗試$('#asdf')。length並檢查它是否選擇任何內容。 另一個可能的問題是,你儘量選擇元素之前的DOM準備

$(function(){ 
    $('#asdf').text(); 
}); 

時會發生DOM準備

0

可能是幾件事情,在這種情況下,它可能無法找到$('#asdf'),所以請確保您的ID與頁面上的元素相同。

檢查已導入的Jquery正確地將因爲它可能無法識別$

最後,確保在頁面加載完成後您的代碼運行。

$(document).ready(function() { 
    //code 
}); 
0

我想你會在頁面加載完成之前這樣做。

嘗試

jQuery(function($){ 
    alert($('#asdf').text()); 
    }); 
0

具體什麼是被期待的 '對象'?如果是$那麼這意味着您的網頁上未包含jquery.js,或者其路徑不正確。

如果包括jQuery的,那麼你可以測試是否使用頁面上存在的元素:

if ($("#asdf").length > 0) { 
    alert("asdf esixts"); 
} 
else { 
    alert("asdf DOES NOT exist"); 
} 

最後,確保你把你的代碼的文件準備處理程序中:

$(document).ready(function() { 
    // your code here 
}); 
0

可能通過適當參考JQuery的文件來解決。您可能在一個子目錄中並且需要更改路徑。

或者你可能有一個類似的代碼;

$("#form1").validate({ 
     debug: true, 
     ..... 

如果你有,false改爲true

0

我假設你在IE中得到這個錯誤。這可能發生在你有一個id爲asdf的元素時,那麼你在某個Ajax調用(或者替換它)後以某種方式刪除了它。你可以嘗試$(「[id = asdf]」)。text()並查看它是否失敗。如果沒有,當我是對的。 這是由於以下事實:(IMO)IE將ID中的所有元素保留在散列中,並且在元素被替換時不會替換散列中的指針。