2

重複の可能性:
jQueryセレクターjQuery( "element")と$( "element")の違いは何ですか?

ちょっと気になる。

なぜ私はそれがとして書かれているのを見る$("#SomeElementId")jQuery("#SomeElementId")ですか?正確な違いは何ですか?

4

5 に答える 5

5

$jQuery名前空間のエイリアスです。入力するだけで速くなります。を利用する他のライブラリと競合する可能性がある場合、通常は回避されます$

jQuery は常に宣言しますが、呼び出されない限りjQuery宣言するだけです。$jQuery.noConflict()

いずれにせよ、一般的なパターンは$、すぐに実行される関数を介して、クロージャー内のローカル変数として参照することです。

(function($) {
    //all your code here, which can reference $
})(jQuery);
于 2012-07-27T11:00:08.060 に答える
3

$ の代わりに iife で $ と jQuery を理解する

同じ質問が何度も出題されていることに注意:)してください。言葉遣いは異なりますが、意味は同じです。そのため、この質問はすぐに終了すると思います。

多くの JavaScript ライブラリは、jQuery と同様に $ を関数または変数名として使用します。jQuery の場合、$ は jQuery の単なるエイリアスであるため、すべての機能は $ を使用しなくても利用できます。jQuery と一緒に別の JavaScript ライブラリを使用する必要がある場合は、$.noConflict() を呼び出して、$ の制御を他のライブラリに戻すことができます: http://api.jquery.com/jQuery.noConflict/

「非競合」モードでは、$ ショートカットは使用できず、jQuery がより長く使用されます。例えば:

$(document).ready(function(){
     $(#somefunction) ...
});

なる:

jQuery(document).ready(function(){
    jQuery(#somefunction) ...
});

$ のデフォルトの jQuery ショートカットを使用するには、コードの周りに次のラッパーを使用できます。

jQuery(document).ready(function($) {
    // $() will work as an alias for jQuery() inside of this function
});

そのラッパーにより、ページの読み込みが完了するとコードが実行され、$ は jQuery の呼び出しに機能します。なんらかの理由で、(DOM Ready イベントを待機するのではなく) コードをすぐに実行したい場合は、代わりにこのラッパー メソッドを使用できます。

(function($) {
    // $() will work as an alias for jQuery() inside of this function
})(jQuery);

よく読んでください: http://codex.wordpress.org/Function_Reference/wp_enqueue_script#jQuery_noConflict_wrappers

さらにあなたが熱心なら:

$はjQueryで何を意味しますか?

これは喉の渇きを癒すのに役立つはず:)です。これが役立つことを願っています!

于 2012-07-27T11:04:29.507 に答える
2

それらは同じです。デフォルトでは、jQuery は自身を 2 つのグローバル名にバインドします:jQuery$. 後者は短いですが、他のフレームワークが同じことを行うため、よりあいまいです。

これに関するドキュメントを参照してください: http://api.jquery.com/jQuery.noConflict/

于 2012-07-27T11:00:20.130 に答える
2

$のショートカットですjquery- 多くの JavaScript ライブラリで を使用できる$ため、コードで複数のライブラリを使用する場合は、一般的に安全に使用できますjquery- jQuery のみを使用する場合は、問題なく使用できます$

于 2012-07-27T11:01:12.923 に答える
1

$ は単なるエイリアスです。jQuery.noConflict()関数を使用して別のエイリアスを使用することもできます

于 2012-07-27T11:01:20.037 に答える