15

私はいくつかのjQuery機能を試してきました。

$との使用の違いを教えてください$$

4

7 に答える 7

14

$セレクターの最初の要素を返す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

ここに画像の説明を入力

于 2012-12-19T05:08:40.397 に答える
8

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/

于 2012-12-18T12:41:46.223 に答える
4

jQueryjQueryが提供するオブジェクトです。$は別のもので、単なるエイリアスjQueryです。

$$jQuery では提供されません。Mootools や Prototype.js などの他のライブラリによって提供されます。

さらに重要なことに、$$最新のブラウザのコンソールでも へのエイリアスとして が提供されていますdocument.querySelectorAll。別のライブラリによってオーバーライドされている場合を除きます。$も同様に へのエイリアスとして提供されdocument.querySelectorます。

詳細については、この回答を参照してください。

于 2012-12-18T12:48:23.287 に答える
1

$$はJqueryでは重要ではありませんが、プロトタイプフレームワーク内で使用されます。

プロトタイプ$$

また、これがを使用して割り当てられたJqueryの以前のバージョンではないことを確認してくださいnoConflict

コードを検索してvar $$、古いjqueryバージョンの可能な割り当てを見つけます。

var $$ = jquery.noConfict();
于 2012-12-18T12:44:23.863 に答える
1

すべてのjQuery機能はオブジェクトにカプセル化されており、jQueryオブジェクトにもアクセスできます$。調べているコードは、関数を使用する別のライブラリ(Mootoolsなど)を使用している可能性があり$$ます。

于 2012-12-18T12:43:48.793 に答える
1

$ AND $$ は mootools セレクターで、$ も jquery セレクターです。

jquery noconflict-mode を参照してください

于 2012-12-18T12:39:13.320 に答える
1

短い Anser: $$はjQuery 仕様では定義されていません$( )。さらに、一重記号の表記は、ブラケット内のものを jQuery オブジェクトにカプセル化することを意味します。

したがって、エイリアス$は略語です-私はjQueryライブラリを使用して$$いますが、標準のjQueryライブラリではdoubleが定義されていません。

于 2012-12-18T12:41:43.387 に答える