つまりjQuery()
、関数であり、ドキュメントは関数のパラメータとして使用されるオブジェクトjQuery()
です。
jQuery(document)
関数は、ready()メソッドを持つオブジェクトを返すと思いますか?それが正しいか?その場合、どのようなオブジェクトがjQuery(document)
返されますか?
つまりjQuery()
、関数であり、ドキュメントは関数のパラメータとして使用されるオブジェクトjQuery()
です。
jQuery(document)
関数は、ready()メソッドを持つオブジェクトを返すと思いますか?それが正しいか?その場合、どのようなオブジェクトがjQuery(document)
返されますか?
jQuery は多くの魔法を使用します (たとえば、 を使用する必要を避けるためnew
)。
jQuery(...)
渡された 0 個以上の要素 (引数に応じて) を含む新しい jQuery オブジェクトを常に作成します。
jQuery にはready
メソッドがあるため、任意の jQuery オブジェクトで呼び出すことができます。$().ready()
または$(document).ready()
またはを使用するかどうかは問題ではありません。$('whatever').ready()
常に同じことを行います。
ready: function( fn ) {
// Attach the listeners
jQuery.bindReady();
// Add the callback
readyList.add( fn );
return this;
},
ご覧のとおり、this
はチェーンに対してのみ返されます。関数の実際のロジックではまったく使用されません。
その場合、どのようなオブジェクトが
jQuery(document)
返されますか?
jQuery オブジェクトを返します。
jQuery オブジェクトには、HTML 文字列から作成された、またはドキュメントから選択されたドキュメント オブジェクト モデル (DOM) 要素のコレクションが含まれています。
jQuery
メソッド自体はここに文書化されています: http://api.jquery.com/jQuery/#jQuery1
この関数の 2 番目と 3 番目の定式化では、他の方法で既に選択されている 1 つ以上の DOM 要素を使用して jQuery オブジェクトを作成します。この機能の一般的な用途は、コールバック関数に渡された要素で jQuery メソッドを呼び出すことです...
jQuery(...)
関数は、次のように一般的に省略$(...)
されます。
$(document)
基本的に、これは jQuery ライブラリーへの最初の共通フックです。次のように使用されることがよくあります。
$(document).ready(function() {
// This code gets called once the document has finished loading
// to the point where you'd want to use the jQuery library against the DOM
});
.ready
メソッドに関するドキュメントは次のとおりです。
JavaScript は、ページのレンダリング時にコードを実行するためのロード イベントを提供しますが、このイベントは、画像などのすべてのアセットが完全に受信されるまでトリガーされません。ほとんどの場合、スクリプトは DOM 階層が完全に構築されるとすぐに実行できます。.ready() に渡されたハンドラーは、DOM の準備が整った後に実行されることが保証されているため、これは通常、他のすべてのイベント ハンドラーをアタッチして他の jQuery コードを実行するのに最適な場所です ...
jQuery のドキュメントを参照してください。
http://api.jquery.com/jQuery/jQuery( element )
- 関数のバージョンに興味がありjQuery
ます。jQuery
渡した要素を新しいオブジェクトでラップします。このオブジェクトには、イベント ハンドラーを関数として渡すことができる.ready()メソッドが含まれます。
typeof document を取ると object が得られるので、jQuery(document) は document の jQuery オブジェクトを与えます。
これを jQuery オブジェクトとして扱うために $(this) のようにしたかもしれません。javascript キーワード this を使用すると、すべての dom メソッド/プロパティを呼び出すことができますが、jQuery メソッドおよびプロパティは呼び出すことができません。同様に $(this) を使用すると、すべての jquery メソッド/プロパティを呼び出すことができますが、基本的な dom メソッドおよびプロパティは呼び出すことができません。
$(document).ready() は、dom オブジェクト ドキュメントを取得して jQuery オブジェクトに変換し、ready 関数をアタッチすることを意味します。
詳細を説明するために、Chrome コンソールで指定したいくつかのコマンドを次に示します。
typeof document
"object"
$(document).ready
function (a){e.bindReady(),A.add(a);return this}
document.ready
undefined
ここで、未定義を示す document.ready は、dom に認識されていないことを明確にしており、$(document).ready は、jquery を使用してその定義を示しています。