私はいくつかのjQuery機能を試してきました。
$
との使用の違いを教えてください$$
。
$
セレクターの最初の要素を返すGoogle Chrome、Firefox、および$$
Safari ブラウザーの任意の Web ページ (jQuery が含まれていない場合) で動作します。$
ここ、
$はdocument.querySelector
$$はdocument.querySelectorAll
これらは Google Chrome および Firefox ブラウザーのネイティブ機能であり、Safari でも表示$
および$$
定義できます。
Google Chrome、Firefox、または Safari のいずれかで Google を開き、Developer Tools を開いてこれらの結果を確認します... (なぜ Google なのか、なぜなら、彼らは jQuery や Moo ツールを使用しないからです)
$('div'); // returns first DIV in DOM
$$('div'); // returns all DIVs in DOM
jQueryのドキュメントには$$
ステートメントはありません。jQueryには、$
文字付きのデフォルトのセレクターがあります。たぶん、このスクリプトは別のjavascriptパッケージを使用しており、jQueryといくつかの競合があります。この場合、jquery.NoConflict
この種の問題を回避するために使用して、別のjqueryセレクターを設定できます。
何かのようなもの:
var s = jQuery.noConflict();
// something with new jQuery selector
s("div p").hide();
// something with another library using $()
$("content").style.display = 'none';
コードに競合を回避したいvar $$ = jquery.noConfict();
場合:、jqueryセレクターとして$$を使用できます:
$$("#element").method();
ドキュメントの詳細を参照してください:http: //api.jquery.com/jQuery.noConflict/
jQuery
jQueryが提供するオブジェクトです。$
は別のもので、単なるエイリアスjQuery
です。
$$
jQuery では提供されません。Mootools や Prototype.js などの他のライブラリによって提供されます。
さらに重要なことに、$$
最新のブラウザのコンソールでも へのエイリアスとして が提供されていますdocument.querySelectorAll
。別のライブラリによってオーバーライドされている場合を除きます。$
も同様に へのエイリアスとして提供されdocument.querySelector
ます。
詳細については、この回答を参照してください。
$$はJqueryでは重要ではありませんが、プロトタイプフレームワーク内で使用されます。
また、これがを使用して割り当てられたJqueryの以前のバージョンではないことを確認してくださいnoConflict
。
コードを検索してvar $$
、古いjqueryバージョンの可能な割り当てを見つけます。
var $$ = jquery.noConfict();
すべてのjQuery機能はオブジェクトにカプセル化されており、jQuery
オブジェクトにもアクセスできます$
。調べているコードは、関数を使用する別のライブラリ(Mootoolsなど)を使用している可能性があり$$
ます。
$ AND $$ は mootools セレクターで、$ も jquery セレクターです。
jquery noconflict-mode を参照してください
短い Anser: $$
はjQuery 仕様では定義されていません$( )
。さらに、一重記号の表記は、ブラケット内のものを jQuery オブジェクトにカプセル化することを意味します。
したがって、エイリアス$
は略語です-私はjQueryライブラリを使用して$$
いますが、標準のjQueryライブラリではdoubleが定義されていません。