在Chrome开发者工具中,==$0(双倍等于零美元)是什么意思?

bfnvny8b  于 2022-12-06  发布在  Go
关注(0)|答案(5)|浏览(220)

在Google Chrome的开发者工具中,当我选择一个元素时,我会在所选元素旁边看到==$0。这是什么意思?

gxwragnw

gxwragnw1#

这是最后一个选中的DOM节点索引。Chrome会为你选中的每个DOM节点分配一个索引。因此$0将始终指向你选中的最后一个节点,而$1将指向你在此之前选中的节点。可以把它想象成一堆最近选中的节点。
例如,请考虑以下内容

<div id="sunday"></div>
<div id="monday"></div>
<div id="tuesday"></div>

现在,您打开了devtools控制台,并按上述顺序选择了#sunday#monday#tuesday,您将获得如下ID:

$0 -> <div id="tuesday"></div> 
$1 -> <div id="monday"></div>
$2 -> <div id="sunday"></div>

**注意:**知道节点在脚本(或控制台)中是可选择的可能会很有用,例如,角元素选择器就是一种常用的方法,因此您可以简单地选择节点,然后运行以下命令:

angular.element($0).scope()

您可以通过控制台访问节点范围。

5n0oy7gb

5n0oy7gb2#

$0返回最近选择的元素或JavaScript对象,$1返回第二个最近选择的元素或JavaScript对象,依此类推。
参考:Command Line API Reference

kwvwclae

kwvwclae3#

这里的其他答案清楚地解释了它的意思。我喜欢解释它的用途。
您可以在elements标签中选择一个元素,然后切换到chrome中的console标签。只需键入$0 or $1或任何数字,然后按回车键,该元素就会显示在控制台中供您使用。

t8e9dugd

t8e9dugd4#

这是Chrome的提示,告诉你如果你在控制台上输入$0,它将等同于该特定元素。

Chrome在内部维护了一个堆栈,其中$0是选中的元素,$1是最后选中的元素,$2是在$1之前选中的元素,依此类推。
以下是它的一些应用:

  • 从控制台访问DOM元素:$0
  • 从控制台访问其上级:$0.parentElement
  • 从控制台更新其属性:$1.classList.add(...)
  • 从控制台添加/更新元素的样式:$0.style.backgroundColor="aqua"
  • 从控制台触发JS事件:$0.click()
  • 做很多更复杂的事情,比如:$0.appendChild(document.createElement("div"))

观看所有这些操作:

支持语句:

是的,我同意有更好的方法来执行这些操作,但是这个特性在某些复杂的场景中会很方便,比如当需要点击一个DOM元素,但是由于其他元素覆盖了它,或者由于某种原因,它在UI上不可见,所以不可能从UI上点击它。

um6iljoc

um6iljoc5#

我会说这只是在调试时获取html元素引用的简写语法,通常这类任务将由这些方法执行

document.getElementById , document.getElementsByClassName , document.querySelector

因此,在控制台中单击一个html元素并获取一个引用变量($0)可以在一天中节省大量时间

相关问题