在Google Chrome的开发者工具中,当我选择一个元素时,我会在所选元素旁边看到==$0。这是什么意思?
==$0
gxwragnw1#
这是最后一个选中的DOM节点索引。Chrome会为你选中的每个DOM节点分配一个索引。因此$0将始终指向你选中的最后一个节点,而$1将指向你在此之前选中的节点。可以把它想象成一堆最近选中的节点。例如,请考虑以下内容
$0
$1
<div id="sunday"></div> <div id="monday"></div> <div id="tuesday"></div>
现在,您打开了devtools控制台,并按上述顺序选择了#sunday、#monday和#tuesday,您将获得如下ID:
#sunday
#monday
#tuesday
$0 -> <div id="tuesday"></div> $1 -> <div id="monday"></div> $2 -> <div id="sunday"></div>
**注意:**知道节点在脚本(或控制台)中是可选择的可能会很有用,例如,角元素选择器就是一种常用的方法,因此您可以简单地选择节点,然后运行以下命令:
angular.element($0).scope()
您可以通过控制台访问节点范围。
5n0oy7gb2#
$0返回最近选择的元素或JavaScript对象,$1返回第二个最近选择的元素或JavaScript对象,依此类推。参考:Command Line API Reference
kwvwclae3#
这里的其他答案清楚地解释了它的意思。我喜欢解释它的用途。您可以在elements标签中选择一个元素,然后切换到chrome中的console标签。只需键入$0 or $1或任何数字,然后按回车键,该元素就会显示在控制台中供您使用。
elements
console
$0 or $1
t8e9dugd4#
Chrome在内部维护了一个堆栈,其中$0是选中的元素,$1是最后选中的元素,$2是在$1之前选中的元素,依此类推。以下是它的一些应用:
$2
$0.parentElement
$1.classList.add(...)
$0.style.backgroundColor="aqua"
$0.click()
$0.appendChild(document.createElement("div"))
是的,我同意有更好的方法来执行这些操作,但是这个特性在某些复杂的场景中会很方便,比如当需要点击一个DOM元素,但是由于其他元素覆盖了它,或者由于某种原因,它在UI上不可见,所以不可能从UI上点击它。
um6iljoc5#
我会说这只是在调试时获取html元素引用的简写语法,通常这类任务将由这些方法执行
document.getElementById , document.getElementsByClassName , document.querySelector
因此,在控制台中单击一个html元素并获取一个引用变量($0)可以在一天中节省大量时间
5条答案
按热度按时间gxwragnw1#
这是最后一个选中的DOM节点索引。Chrome会为你选中的每个DOM节点分配一个索引。因此
$0
将始终指向你选中的最后一个节点,而$1
将指向你在此之前选中的节点。可以把它想象成一堆最近选中的节点。例如,请考虑以下内容
现在,您打开了devtools控制台,并按上述顺序选择了
#sunday
、#monday
和#tuesday
,您将获得如下ID:**注意:**知道节点在脚本(或控制台)中是可选择的可能会很有用,例如,角元素选择器就是一种常用的方法,因此您可以简单地选择节点,然后运行以下命令:
您可以通过控制台访问节点范围。
5n0oy7gb2#
$0返回最近选择的元素或JavaScript对象,$1返回第二个最近选择的元素或JavaScript对象,依此类推。
参考:Command Line API Reference
kwvwclae3#
这里的其他答案清楚地解释了它的意思。我喜欢解释它的用途。
您可以在
elements
标签中选择一个元素,然后切换到chrome中的console
标签。只需键入$0 or $1
或任何数字,然后按回车键,该元素就会显示在控制台中供您使用。t8e9dugd4#
这是Chrome的提示,告诉你如果你在控制台上输入$0,它将等同于该特定元素。
Chrome在内部维护了一个堆栈,其中
$0
是选中的元素,$1
是最后选中的元素,$2
是在$1
之前选中的元素,依此类推。以下是它的一些应用:
$0
$0.parentElement
$1.classList.add(...)
$0.style.backgroundColor="aqua"
$0.click()
$0.appendChild(document.createElement("div"))
观看所有这些操作:
支持语句:
是的,我同意有更好的方法来执行这些操作,但是这个特性在某些复杂的场景中会很方便,比如当需要点击一个DOM元素,但是由于其他元素覆盖了它,或者由于某种原因,它在UI上不可见,所以不可能从UI上点击它。
um6iljoc5#
我会说这只是在调试时获取html元素引用的简写语法,通常这类任务将由这些方法执行
因此,在控制台中单击一个html元素并获取一个引用变量($0)可以在一天中节省大量时间