为什么Chrome的JS控制台返回DOM元素而不是jQuery对象?

Vis*_*esh 5 html javascript jquery google-chrome

例如,当我在Chrome的JavaScript控制台中运行以下代码时,

$("p")
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

<p>...</p>
Run Code Online (Sandbox Code Playgroud)

我们可以看到,我们得到一个DOM元素而不是一个jQuery对象.但是当我不使用Chrome的JS控制台而是直接在网页中使用代码以及一些console.log()时,我得到了一个jQuery对象.

[object Object]{0: HTMLParagraphElement {...}, 1: HTMLParagraphElement {...}, ...
Run Code Online (Sandbox Code Playgroud)

从上面我们可以确定,当直接使用Chrome的JS控制台时,选择器'always'返回一个DOM元素而不是jQuery对象.当我在Edge浏览器的JS控制台中测试相同的选择器代码时,我得到了正确的jQuery对象.Chrome有什么问题?

编辑: 在此输入图像描述

Ale*_*ara 5

默认情况下,$在Chrome的控制台中有一个特殊的选择器函数。如果您仅在尚未加载 jQuery 或任何其他覆盖的$页面上的控制台中运行,您将看到以下内容:$

function $(selector, [startNode]) { [Command Line API] }
Run Code Online (Sandbox Code Playgroud)

但是,如果页面已覆盖该$值,则控制台将使用该页面中的值。因此,如果页面加载了 jQuery,那么您将获得一个 jQuery 对象。