2016-05-15 5 views
5

は、私はChromeのJavaScriptコンソールで次のコードを実行したときに、私は次のような出力を得る なぜChromeのJS ConsoleはjQueryオブジェクトではなくDOM要素を返すのですか?例えば

$("p") 

:私たちが見ることができるように

<p>...</p> 

は、我々はjQueryのではなく、DOM要素を取得しますオブジェクト。 しかし、ChromeのJSコンソールを使用せず、代わりにconsole.log()とともにウェブページでコードを直接使用すると、jQueryオブジェクトが取得されます。

以上から
[object Object]{0: HTMLParagraphElement {...}, 1: HTMLParagraphElement {...}, ... 

、我々は直接ChromeのJSコンソールを使用した場合、セレクタはいつも "DOM要素ではなく、jQueryオブジェクトを返すことを確認することができます。 EdgeブラウザのJSコンソールで同じセレクタ・コードをテストすると、正しいjQueryオブジェクトが取得されます。 Chromeの問題は何ですか?

EDIT:デフォルトではenter image description here

+0

'jQuery(" p ")'と同じですか? –

+0

いいえ@ Roamer-1888。私は 'jQuery'が定義されていないことがわかります。 –

+0

それで '$'は 'jQuery'ではないようです。 –

答えて

4

、Chromeのコンソールで$は特別なセレクタ機能です。あなたはページにちょうど$コンソールで実行した場合はjQueryや$を上書き何かをロードしていない、あなたは以下を参照してくださいになります。

function $(selector, [startNode]) { [Command Line API] } 

しかし、ページが$値を上書きしている場合コンソールはページの値を使用します。したがって、ページにjQueryがロードされている場合は、jQueryオブジェクトが取得されます。

関連する問題