可能重複:
What is the meaning of symbol $ in jQuery?
$ versus jQuery
我有點新的jQuery的,但也做了一些事情吧。但是我從來沒有使用jQuery()函數,並且很好奇它的目的是什麼。
這些是一樣的嗎?
jQuery("body")
$("body")
可能重複:
What is the meaning of symbol $ in jQuery?
$ versus jQuery
我有點新的jQuery的,但也做了一些事情吧。但是我從來沒有使用jQuery()函數,並且很好奇它的目的是什麼。
這些是一樣的嗎?
jQuery("body")
$("body")
爲了解決你的答案的第二部分是唯一的答案:
jQuery.data()
需要的元素作爲第一個參數,這指定您希望檢索或設置信息的元素。
.data()
操作的jQuery對象上,並在內部調用jQuery.data()
,傳遞包含jQuery對象作爲第一個參數[source]內的元件(一個或多個)。
TLDR:
jQuery.data(document.body, 'foo', 'bar') === $(document.body).data('foo', 'bar');
你可以更好地說,在API文檔中以「jQuery」爲前綴的函數意味着你可以將它們作爲一個靜態函數(像'$ .data() /'jQuery.data()'或'$ .ajax()'/'jQuery.ajax()'),否則它是一個實例函數,你首先需要構造一個新的jQuery實例。 )'或'jQuery(...)')以使用這些函數。 –
$是jQuery的別名。你可以使用其中一個。
您可以在衝突
Basicly的情況下,停用與jQuery.noConflict();
的$,它是一個別名。通常它用於避免與使用相同$的其他庫(例如原型)發生衝突。 $只是一個名字 - JavaScript中的名稱可以包含美元符號,並且可以只包含一個美元符號。
聲明不太準確... jQUery是主要對象,'$'是可以衝突的別名 – charlietfl
@charlietfl謝謝,編輯時感到困惑 – Kuf
衝突通常用'noConflict()處理,所以概念仍然不是正在跟蹤 – charlietfl
從源代碼:
// Expose jQuery to the global object
window.jQuery = window.$ = jQuery;
所以,是的,這是相同的。但是你有兩次訪問,所以你可以避免衝突。
除了該代碼不設置此別名。 –
@LightnessRacesinOrbit:你是什麼意思? – Matt
@Matt:它剛剛被編輯。一分鐘前,這是完全不同的代碼粘貼到這個答案:代碼與'$'和'jQuery'之間的別名沒有任何關係。 –
補充答案,.data和jQuery.data()函數是互補的,因爲其中一個(.data)是jQuery對象中的aplyed,也就是選擇操作的結果。例如:
$("#someId").data("foo");
而另一種是更一般的方法。它們都用於將任意數據關聯到DOM元素(並閱讀HTML5 data
屬性)。看看該文檔描述:
這裏是jQuery forum一個很好的解釋。
$和jQuery都指向window.jQuery對象,所以它們是一個和 相同。某些腳本使用jQuery而不是$的原因是 防止與其他庫(如原型或不同版本的jquery)衝突,這兩個版本都使用$變量。
其不一樣的問題 – user1721135
我不太確定爲什麼這個已經關閉了,更別說差點被刪除了。有人甚至看過問題的第二部分嗎? (這是完全有效的堆棧溢出,AFAIK) – Matt
@Matt問題的第二部分不在這裏,當我回答。它只會提出兩個問題而不是一個問題。 *現在*我有理由投票刪除。 –