12

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

jQuery は、jQuery オブジェクトを「配列のようなもの」と定義します。これは、lengthプロパティはありますが、のような特定の配列メソッドがないためjoin()です。

jQuery オブジェクトをオブジェクトとして定義し、配列に関する記述を忘れるとしたら、どのように定義すればよいでしょうか? 長さ以外にどのような特性がありますか?

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

4

2 に答える 2

39

jQuery オブジェクトは配列のようなものです。つまり、0 個以上のインデックス (名前がゼロから始まる正の整数であるプロパティ) を含みます。これらのインデックスに加えて、jQuery オブジェクトには次のプロパティが含まれます。

  • length
  • context
  • selector

また、約 140 の継承されたメソッド (jQuery.prototypeオブジェクトで定義されている -console.dir(jQuery.prototype)完全なリストを取得するために行うことができます...)。

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


たとえば、ページに 3 つの TEXTAREA 要素があり、次のようにするとします。

var j = $('textarea');

次に、このjjQuery オブジェクトには次のプロパティが含まれます。

  • 0- 最初の TEXTAREA 要素への参照
  • 1- 2 番目の TEXTAREA 要素への参照
  • 2- 3 番目の TEXTAREA 要素への参照
  • length- これは3
  • context-documentオブジェクトへの参照
  • selector- これは'textarea'
  • さらに、これらすべての継承されたメソッド...
于 2011-06-22T19:25:33.640 に答える
2

jQuery オブジェクトは、

  • 長さのプロパティ
  • 選択したアイテムを参照する数値プロパティ (0,1,2,3...)
  • jQuery 関数へのバインド
  • 追加の jQuery プロパティ

長さと数値のプロパティにより、オブジェクトは配列のように応答できます。forループで実行したり、mapまたはのような関数を使用したりできますeach

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

于 2011-06-22T19:22:18.423 に答える