【问题标题】:Why I can still use $ in a page that's not having jQuery loaded? [duplicate]为什么我仍然可以在没有加载 jQuery 的页面中使用 $? [复制]
【发布时间】:2020-07-20 04:04:49
【问题描述】:

我只是在http://example.com - 实际上是保留的示例域。

我打开控制台输入$('body')↙

我知道了:

我很确定这个页面没有加载任何 jquery。为了确保它与我的 Chrome 扩展无关,我尝试了 Safari、Opera 和 Firefox。所有人都得到了相同的结果。为什么美元符号仍然有效? $ 现在是新的 JavaScript 原生函数了吗?

【问题讨论】:

  • 它只是 Chrome 控制台中的一个方法,它返回与选择器匹配的第一个元素。

标签: javascript


【解决方案1】:

所有基于 Chromium 的浏览器(Google Chrome、Microsoft Edge 等)在开发者工具控制台窗口中都有一组实用功能 - this includes $() as an alias of querySelector,与 jQuery 的 $ (jQuery) 对象同名.

他们记录在这里:https://developers.google.com/web/tools/chrome-devtools/console/utilities

$_
$0
$1
$2
$3
$4
$
$$
$x
clear
copy
debug
dir
dirxml
inspect
getEventListeners
keys
monitor
monitorEvents
profile
queryObjects
table
undebug
unmonitor
unmonitorEvents
values
  • 请注意,这些实用功能不能从页面脚本 (<script>) 中使用:它们只能在开发者工具控制台中使用。
  • 如果页面确实包含与开发者工具实用程序函数同名的函数,则该页面的函数优先于实用程序函数
    • 因此,如果页面使用 jQuery,那么 $ 将是 jQuery 的,而不是 Chrome 的。

这与console. API 不同,如console.logconsole.error 等,它们是浏览器API 的一部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-15
    • 2017-09-04
    • 1970-01-01
    • 2012-09-09
    • 1970-01-01
    相关资源
    最近更新 更多