javascript - jQueryでのシンボル$の意味は何ですか?
jQueryでの$記号は何を意味しますか?
回答 #1
jQueryオブジェクト :)
jQueryのドキュメントから:
デフォルトでは、jQuery は「jQuery」のショートカットとして「$」を使用します
つまり、$ ("#id") または jQuery("#id") を使うことは同じです。
回答 #2
奇妙ですが本当の話です、JavaScriptでは「$」を関数名として使うことができます。これはjQuery()の短縮形です。もし使いたければ使うことができます。別のライブラリがすでに$を使っている場合、jQueryは互換モードで実行できます。jQuery.noConflict()を使ってください。$はJSでセレクタ関数としてかなり一般的に使われています。
jQueryでは、$ 関数は物を選択する以上のことをします。
- DOMから一致する要素のコレクションを取得するために、セレクタを渡すことができます。
- ドキュメントが準備できたときに実行する関数を渡すことができます(body.onload() に似ていますが、より良い方法です)。
- HTMLの文字列を渡すと、それをDOM要素に変換し、ドキュメントに挿入することができます。
- jQueryオブジェクトでラップしたいDOM要素または要素を渡すことができます。
こちらがドキュメントです: https://api.jquery.com/jQuery/
回答 #3
これは構文糖です。これは jQuery に特有のものではなく、他のライブラリもそれを使用します。JavaScript におけるドル記号の使用についての詳細な記事をこちらで探すことができます。
回答 #4
他の回答で述べたように、$は jQuery 関数へのショートカットです。
いくつかのJavaScriptライブラリも$を使用します(例:prototype)。これらの他のライブラリとの競合を避けるために、jQueryはjQuery.noConflict()関数を提供しています。この関数を呼び出すと、$変数の制御は最初にそれを実装した他のライブラリに戻ります。これを行うと、jQueryを使用する際に$('div.someClass')はもう使えなくなり、代わりにjQuery('div.someClass')を使う必要があります。
あるいはこれを行うこともできます:
jQuery.noConflict();
jQuery.ready(function($) {
// use $ for jQuery
}
//use $ for the other library
プラグインを書く際に noConflict の使用による問題を避けるために、関数に 'jQuery' を渡すことができます:
function($) {
//use $ writing your plugin
}(jQuery)
