2013-01-16 22 views
1

可能重複:
jQuery dollar sign is undefined

我想知道爲什麼TypeError: $ is undefined錯誤發生時, 我知道的另一種方法是使用jQuery解決了這個問題,爲什麼$是不確定的,即使使用正確的jQuery插件。

可以任何一個給我關於這個的解釋,我知道使用的替代方案,以及爲什麼這種替代方法。可以任何一個請解釋我。

+1

看來你正在嘗試引用jQuery的,而不包括它,因此它是不確定的。 – BeardFist

回答

7

如果你的目的是使用jQuery庫,當你調用$(),然後$是函數通常由jQuery庫在加載時定義。如果在嘗試使用該符號時未定義該符號,則存在以下可能性:

  1. 您尚未將jQuery庫加載到出現此錯誤的頁面中。
  2. 您正試圖在加載jQuery之前引用$函數,在這種情況下,您需要先移動頁面中的jQuery庫,或者在加載jQuery的位置後移動有問題的代碼。
  3. 某些jQuery代碼調用了jQuery.noConflict(),導致$符號未定義。在這種情況下,將使用jQuery()而不是$()
+0

感謝您的解釋 – somesh

2

$只是一個指向jQuery對象的變量。你的jQuery庫沒有定義。您可以將其更改爲指向您的對象或功能。以下示例將使$指向功能myfun

$ = myfun; 

function myfun() 
{ 
alert("myfun"); 
} 

$(); 

Live Demo

許多JavaScript庫使用$作爲函數或變量名,只是 如jQuery不會。在jQuery的情況下,$是jQuery的別名,所以 所有功能都可以在不使用$的情況下使用。如果您需要使用另一個JavaScript庫 以及jQuery,請將控制權$ back 返回給其他庫,並調用$.noConflict()。在jQuery初始化期間,舊的 引用的$被保存; noConflict() 只是簡單地恢復它們。

+0

我正在使用最新的jquery插件1.8.1-min然後它給出了錯誤,並且變量將在插件中聲明,然後它應該正常工作。 – somesh

+0

如果您對$未定義,請確保在代碼中使用庫之前包含庫。 – Adil

+0

感謝您的解釋 – somesh

0

你必須包括你的頁面上的jQuery文件(min.js或jQuery的latest.js)

0

你可以做的是:

  • 要麼更換$jQueryscript which causing the error或定義$一些變量並用其他的這種使用它。

我的意思是無論是這樣的:

jQuery(document).ready(function(){ 
    jQuery('selector').click(function(){ 
    jQuery('other_selector').hide(); 
    }); 
}); 

或者這樣說:

var jQ = $; 

jQ(document).ready(function(){ 
    jQ('selector').click(function(){ 
    jQ('other_selector').hide(); 
    }); 
}); 

或有一件事用jQuery.noConflict()

Try this and see if this helps.

相關問題