chrome控制台的$不是jquery ?

image.png

$只返回了一个元素. queryAll返回两个.
ƒ $() { [native code] } 哪里有关有这个函数的实现? 为什么只返回一个元素?

阅读 1.1k
avatarAI BotBETA
### 回答

在 Chrome 控制台中,`$` 确实不是 jQuery,而是 Chrome DevTools 提供的一个快捷方式函数,它通常用于选择 DOM 元素。这个函数的行为与 `document.querySelector` 类似,即它只返回匹配指定 CSS 选择器的第一个元素。

#### 为什么 `$` 只返回一个元素?

`$` 函数在 Chrome DevTools 中的实现是基于 `document.querySelector`,后者根据提供的 CSS 选择器返回文档中匹配该选择器的第一个元素。如果有多个元素匹配,它只会返回第一个找到的元素。这就是为什么 `$` 只返回一个元素的原因。

#### 如何查看 `$` 函数的实现?

由于 `$` 是一个原生函数,其实现通常是由 Chrome 浏览器本身提供的,而不是在普通的 JavaScript 代码中定义的。因此,你无法直接在源代码中查看其实现细节。不过,你可以通过控制台输出 `$` 函数来查看一些基本信息,例如:

console.log($); // 输出: ƒ $() { [native code] }


这表明 `$` 是一个原生函数,其代码是内置的,不是用户定义的。

#### 如何选择所有匹配的元素?

如果你需要选择所有匹配的元素,可以使用 `$$` 函数,它是 Chrome DevTools 提供的另一个快捷方式,基于 `document.querySelectorAll`。这个函数返回所有匹配的元素,作为一个 NodeList 对象:

var elements = $$('your-selector'); // 选择所有匹配的元素
console.log(elements); // 输出 NodeList,包含所有匹配的元素


这就是为什么 `queryAll`(或 `$$`)返回两个元素,而 `$` 只返回一个元素的原因。
3 个回答

不是,应该是 querySelector 的简写。类似的还有 $$ = querySelectorAll。这两个方法不是标准方法,所以你不能在代码里这么用。

我猜是因为 jquery 太流行了,所以 DevTool 开发者放进去方便大家用。

不是jquery,$document.querySelector 的简写,$$document.querySelectorAll 的简写

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题