2010-12-03 13 views
3

私は、jQueryプラグインであるjqGridの使い方の例を見ています。

これは、 'list'というIDを持つdiv内にグリッドを描画しています。

$('#list').jqGrid(...)でグリッドが作成されます。

ただし、グリッドには$('#list')[0].addJSONData(...)が設定されます。

私はjQueryのチュートリアルを探していて、その違いを理解しようとしていましたが、それを使う上で最も根本的な問題であることに対処するものは何も見つかりませんでした。

$()は何を返しますか?それは、DOM要素を含むjqueryオブジェクトを返しますか? DOM要素の配列を含むjqueryオブジェクトを返しますか?追加のjQuery関数が追加されたDOM要素を返しますか?

そして、何が$()[0]ですか? $()がDOM要素の配列を含むjQueryオブジェクトを返した場合、id 'list'を持つdivであることが期待されますが、addJSONDataはDOMメソッドではなく、jqGridメソッドです。 jqGridはそのメソッドを配列のすべてのDOM要素に追加しますか?

=====は

$()はDOMオブジェクトのarrrayを含んjQueryオブジェクトを返す場合、なぜ$()[0]に格納しているオブジェクトを参照しない加え====== addJSONDataメソッド? addJSONDataはDOMメソッドではなく、jqGridメソッドです。

+1

を呼び出すショートカットです。 "$()がjQueryオブジェクトを返す"という6つの答えが必要ですか? – Stephen

+0

あなたが知る必要があるもの:http://api.jquery.com/jQuery/ – Stephen

答えて

3

$()は、セレクタに基づいて要素のコレクションを返します。したがって$('.help')は、クラスが.helpのすべての要素を返します。 $('.help')[0]はあなたに最初の要素を与えます。

0

jQueryオブジェクトをセレクタとともに使用すると、DOM要素の配列が返されます。この場合、$('#list')は、ID '#list'と一致する項目の配列(1つのスロットを持つので、これはIDです)を表します。

4

$()がjqueryのセレクタであり、それは、CSS表現を受け取り、jQueryオブジェクトにそれを回す、$は、実際のjQueryの略記であり、即ちjQuery()$()と同じです。

$()[0]は、単に非jQueryオブジェクトを受け取り、あなたが$('#someId')[0]をすれば、それはgetElementById('someId');

+0

これは間違いありませんが、*なぜ*あなたの2番目のステートメントが真であるかを説明する必要があります。 – Stephen

0

$()マッチした要素のセットが含まれているjQueryオブジェクトを返すのと同じです。 $()[0]を介してjQueryオブジェクトにインデックスを付けると、最初に一致したDOMオブジェクトが返されます。

var docWrappedInJQuery = $('document'); 
var bareDoc = $('document')[0]; 
assert((document === docWrappedInJQuery) === false); 
assert((document === bareDoc) === true); 
2

$()jQuery() functionの別名です。これは、jQueryオブジェクトと、および提供されたセレクタに一致する要素を返します。一致する要素が見つかった場合、$()[0]は最初のDOM要素を返します。

詳しい説明は、jQuery documentationを参照してください。

0

$()は、jQuery()と同じです。ドキュメントはここにある:http://api.jquery.com/jQuery/

$(function() { })を呼び出すことに注意してくださいすると、これらの回答者の中には、解答スペースを整理する必要があり$(document).ready(function() { });

関連する問題