jQuery では、なぜ$(document)
セレクターとして使用できるのに$('body')
、名前を引用符または二重引用符で囲む必要があるのでしょうか?
4 に答える
document
はページのスコープ内のグローバル js オブジェクトですが、ページ<body>
上の要素です。
body
は要素でdocument
あり、オブジェクトであるためです。
ブラウザーに読み込まれた各 Web ページには、独自のドキュメント オブジェクトがあります。このオブジェクトは、Web ページのコンテンツ ( や などの要素を含む DOM ツリー) へのエントリ ポイントとして
<body>
機能<table>
し、ドキュメントにグローバルな機能 (ページの URL の取得やドキュメント内の新しい要素の作成など) を提供します。
Document は window オブジェクトで定義されたオブジェクトですが、 body は document と同じように定義されていません。ただし、自分で定義できます。
var body;
$(document).ready(function () {
body = document.find('body');
});
ウィンドウ オブジェクト ドキュメントは、ウィンドウ ドキュメントまたは HTML タグのルートであるため、事前定義として存在します。次に、DOM を使用すると、本文を含むドキュメントのすべての子を見つけることができます。ページのルートであるまたはwindow['document']
と同等ですが、ドキュメントの最初/2番目/3番目の子である必要はないため、本文があいまいになる可能性があります。常に body オブジェクトを時々定義する: http://www.w3.org/TR/html401/struct/global.html#h-7.5window.document
document
undefined