ものです:jqueryの変数、私が行うとの違いは、B/W 2
var x = $("#listing")
私は戻っID listing
とhtml要素を取得し、
そして私は$(x)
かを行います$($("#listing"))
、私は同じことを得る。
違いは何ですか?
ものです:jqueryの変数、私が行うとの違いは、B/W 2
var x = $("#listing")
私は戻っID listing
とhtml要素を取得し、
そして私は$(x)
かを行います$($("#listing"))
、私は同じことを得る。
違いは何ですか?
$()
がjQuery object(またはコレクション)に何かを変換しますx.addClass( '事')を実行することができます。これはJavascript変数と同じではありません。このようなvar x = '#listing'
などの変数に#listing
を格納する場合
、単に次にSizzle、jQueryのセレクタエンジンによって選択として解釈されるjQueryのコンストラクタに文字列を渡しています。最初のスニペットで
var x = $('#listing');
var x = '#listing',
$x = $(x);
x
第二に$x
と同一である:提供される例において
は、次の二つの線の間の違いはありません。
完全性のために、jQueryコンストラクタは、最初のパラメータとして混合型変数を受け入れることもできます。それは文字列である必要はありません。たとえば、次の構文を使用してjQueryオブジェクトにDOMElement
変数を変換することが可能です:今、jQueryの独自の機能へのアクセスを持っている
var ele = document.getElementById('myItem'),
$ele = $(ele);
お知らせ$ele
こと、などaddClass()
、としてthis demoを参照してください。
さらに、jQueryオブジェクトをコンストラクタに渡すと、同じjQueryオブジェクトが返されます。例えば、次のスニペットを与え:
var $x = $('#listing'),
$x2 = $($x);
$x
は$x2
と同一です。
あなたのx変数は、寮のアイテムを見つけたらjQueryオブジェクトになりました。
var x = $( '#listing');を実行すると、 xにはすべてのものがあります。
したがって、あなたは
これは完全に真実ではありません。'x'変数はjQueryオブジェクトに*作られませんが、新しいものを作るために使われます。 – BenM
$を追加すると、通常の変数ではなくjQueryオブジェクトが作成されます。 DOM要素、別のjQueryオブジェクト、または通常のjavascript変数からjQueryオブジェクトを作成できます。 console.log(x)
console.log($(x))
を実行しようとすると、すべての相違点がわかります。
'$(...)'は、オブジェクトを** jQueryオブジェクト/コレクション**に変換します。 '$(x)'を実行すると、すでにjQueryオブジェクト自体である 'x'から新しいjQueryオブジェクトを作成するだけです。しかし、 '$ var'と' var'の間には違いはありません。これはほとんどの開発者がjQueryオブジェクトとネイティブJSオブジェクト/変数を区別するための命名規則です。 – Terry
JQueryは、あなたが彼に与えた要素に基づいてセレクタを再作成するだけです。 –