2011-06-22 3 views
5

JavaScriptのkindは、配列が.lengthというプロパティとメソッド(.slice().join()など)を持つオブジェクトであるため、配列の意味を再定義します。jQueryオブジェクトとは何ですか?

jQueryは、lengthというプロパティを持っていますが、join()のような特定の配列メソッドがないため、jQueryオブジェクトを「Array like」と定義しています。

jQueryオブジェクトをオブジェクトとして定義し、配列と何かを言及することを忘れてしまった場合、どのように定義するのですか?長さ以外にどのような特性がありますか?

私は、すべてのメソッドが、配列にあるメソッドの数をはるかに超えて、ドキュメントに表示されていると思います。

+0

[JavaScript配列とは何ですか?](http://stackoverflow.com/questions/6445010/wha t-is-a-javascript-array) – Neal

+1

jQueryのドキュメントには、必要なすべての情報が含まれています。http://docs.jquery.com/Main_Page – FishBasketGordo

答えて

26

jQueryオブジェクトは配列に似ています。つまり、0以上のインデックス(名前がゼロから始まる正の整数)を含むことを意味します。これらの指標のほかに、jQueryオブジェクトは、これらのプロパティが含まれています:

jQuery.prototypeオブジェクトで定義されている140の継承されたメソッド(周り
  • length
  • context
  • selector

も ​​- あなたが行うことができます完全なリストを得るためにconsole.dir(jQuery.prototype) ...)。

jQueryオブジェクトは、にはArrayメソッド(slice、substr、...)を含む(または継承しない)ことに注意してください。これらのメソッドをjQueryオブジェクトで実行する場合は、call/applyを使用してください。例えば


、あなたがページ上の3つのTEXTAREA要素を持っているし、あなたがこれを行う場合:

var j = $('textarea'); 

このj jQueryオブジェクトは、これらのプロパティが含まれます:

  • 0 - リファレンス最初のTEXTAREA要素へ
  • 1 - 2番目のTEXTAREA要素への参照
  • 2から3
  • contextある - - documentオブジェクト
  • selectorを参照 - 第三TEXTAREAエレメント
  • lengthを参照'textarea'
  • プラスすべてのそれらの継承されたメソッドである...
+0

+1のコード例は、 – Philip007

2

jQueryオブジェクトが選択からアイテムを参照

  • lengthプロパティ
  • 数値特性(0,1,2,3 ...)に
  • バインディングを持つオブジェクトでありますjQueryの機能
  • 追加jQueryの特性

長さと数値プロパティオブジェクトがアレイ状に応答することを可能にします。 forループで実行するか、mapまたはeachのような関数を使用してください。

ブラウザのデバッガまたはFirebugを使用してjQueryオブジェクトを調べることをお勧めします。それはどのように構造化されているかについて多くのことを教えてくれるでしょう。

関連する問題