jQueryを使用すると、次のようなことができます。$("div")[5].animate()
HTMLElement
これは、ある意味で開発者のように使用を拡張したように思えprototype
ます。
私の質問は今です:彼らはどのようにこれをしましたか?たとえばIEでは動作していないのでHTMLElement.prototype
、HTML要素のプロトタイプを作成するためのクロスブラウザ方式があるのではないかと思います。
ありがとう!
jQueryを使用すると、次のようなことができます。$("div")[5].animate()
HTMLElement
これは、ある意味で開発者のように使用を拡張したように思えprototype
ます。
私の質問は今です:彼らはどのようにこれをしましたか?たとえばIEでは動作していないのでHTMLElement.prototype
、HTML要素のプロトタイプを作成するためのクロスブラウザ方式があるのではないかと思います。
ありがとう!
これらを IE で拡張することはできません。IE は、そのように DOM インターフェイスを実装していません。そのため、Prototype では、これらの追加メソッドで操作したい要素を「ラップ」する必要があります。
jQuery ファクトリ関数 (jQuery()
または$()
)は DOM ノードを返しません。
jQuery ファクトリ関数はjQuery.init
、配列と非常によく似た動作をする新しいインスタンスを返します。DOM ノードのプロトタイプを拡張する代わりに、より多くの機能を単に追加するだけです。jQuery.fn
関数が jQuery セレクターでチェーンされている場合、通常はjQuery.init インスタンス内に含まれるすべての要素に適用されます。
舞台裏で何が起こっているかを正確に理解できるように、コメント付きの jQuery ソースを読むことを強くお勧めします。
注意してください$('#book') !== document.getElementById('book')
。
1 つ目は dom 要素を参照する拡張可能な jQuery オブジェクトですが、2 つ目は実際には dom 要素です。