2013-04-07 55 views
0

如果存在名爲(id)「ABC123」的對象,我想向下滾動到該對象。如果這個對象存在,那工作正常。但如果沒有,我收到一個錯誤: 「類型錯誤:$(...)偏移(...)是不確定的」檢查是否在jquery中定義了對象以避免錯誤

我的代碼應該避免這種錯誤,但不工作:

if(typeof($('#ABC123')) != 'undefined') { 
     $('html, body').animate({ scrollTop: ($("#ABC123").offset().top-100) }, 0).scroll(); 
    } 
+0

確保您標記帶有綠色對勾 – 2013-04-07 16:33:37

回答

4

jQuery集合絕不是undefined

簡單的測試,它不是空:

if ($('#ABC123').length) { 
+1

感謝正確的答案!它崇拜! :) – Thomas1703 2013-04-07 16:29:53

0

一個jQuery對象,永遠不會nullundefined,即使你不傳遞任何參數$(),在這種情況下,它只是空的,乾脆什麼也不做。

看起來像要檢查它是否是空的或不是:

if ($('#ABC123').length) { 
    $('html, body').animate({ scrollTop: ($("#ABC123").offset().top-100) }, 0).scroll(); 
}); 
相關問題