jQueryのシンボル$の意味は何ですか?


123

$jQuery のサインインは何を表していますか?


いくつかのカテゴリタグのように見えるのではなく、タイトルを少し
わかりやすく

20
私のようなjquery初心者にとっては良い質問です。私はインターネットからカットアンドペーストすることでいくつかのjqueryページをまとめましたが、それは私が何をしているのかについて最初に尋ねた質問でした。
マークハリソン

回答:


138

jQueryオブジェクト:)

jQueryドキュメントから:

デフォルトでは、jQueryは「jQuery」のショートカットとして「$」を使用します

したがって、$("#id")またはを使用しjQuery("#id")ても同じです。


こんにちは、@ Andrea私は正しい質問をしているのかどうかわからないので、jQueryは初めてです。その$を他の記号に置き換えることはできますか?そして可能であれば、どうやって?
ハルク

@Hulkを使用noConflit()して置き換えることができます。
スーパークール

44

奇妙ですが、JavaScriptでは、 "$"を関数名として使用できます。jQuery()の省略形です。必要に応じて使用できます。別のライブラリがすでに$を使用している場合は、jQueryを互換モードで実行できます。jQuery.noConflict()を使用するだけです。$は、JSのセレクター関数としてかなり一般的に使用されています。

jQueryでは、$関数は選択を行うだけではありません。

  1. セレクターを渡して、DOMから一致する要素のコレクションを取得できます。
  2. ドキュメントに準備ができたときに実行する関数を渡すことができます(body.onload()に似ていますがより優れています)。
  3. HTMLの文字列を渡してDOM要素に変換し、それをドキュメントに挿入できます。
  4. jQueryオブジェクトでラップする1つまたは複数のDOM要素を渡すことができます。

ここにドキュメントがあります:https : //api.jquery.com/jQuery/


7
あなたが知っている、これは本当にこの質問の正しい答えになるはずです...私はそれらすべての冗談っぽい答えがすべての賛成票を得たとは信じられません。
2013

1
リードボイドのコメントに同意する。これは、Javascriptプログラミングの現状を反映しています。とはいえ
Sunny

$が関数の場合、その上でメソッドnoConflict()をどのように呼び出しますか?$が関数ではなくオブジェクトであった場合、それは可能でした。
異端者2016年

1
@ dk49 JavaScriptでは、関数もプロパティを持つことができます。これを試してください:関数Person(){}; Person.city = 'ミズーラ'; console.log(Person.city)
ランスフィッシャー

より多くの証拠については、typeof $どちらが「関数」を出力するかを試してください。;)
ランスフィッシャー

34

それはある糖衣構文。これはjQueryだけに固有のものではありません。他のライブラリもそれを使用します。あなたはJavaScriptでドル記号の使用に関する完全な詳細記事を探すことができますここで


5
まあ、私は構文糖という言葉が好きだった。それをありがとう:)
Ravi Dhoriyaツジュル

4
これはどのように答えますか?このことから、jQueryの「$」記号は「構文糖」を表すことがわかりました。そして、リンクされた記事は、簡潔に答えることなく、方法と理由について詳細に話します。@andreaによる次の答えは、3つの単語でその仕事をします。
lorenzog 2015年

OPはなぜ$記号がライブラリを表すために選択されたのかを知りたいと思ったと思います。これは実際には何を意味するのかではなく、明らかにされています
Elzo Valugi

そのリンクはもう機能しません、あなたが言ったものは詳細に説明しています$
user734028 '29

@ user734028リンクをキャッシュされたリンクに変更しました。今すぐ確認してください
Elzo Valugi 2018

30

他の回答で述べたように、$はjQuery関数へのショートカットです。

一部のJavaScriptライブラリは$も使用します(例:プロトタイプ)。他のライブラリとの競合を避けるために、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)

9

$は単にjQueryと呼ばれる関数です。これにより、jQueryライブラリのすべての機能にアクセスできます。

ここで見つけることができます:http : //docs.jquery.com/%24



5

$は@Elzoが言及したような構文糖です。しかし、実際には誰もあなたの質問に答えませんでした。$はjQuery forの省略形であるためwindow.jQuery、毎回入力する必要はありません。





1

jQueryライブラリファイルを確認します。

// jQueryと$識別子を公開します。

if ( typeof noGlobal === strundefined ) {
    window.jQuery = window.$ = jQuery;
}

グローバル$はjQueryを指します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.