首页 文章

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

提问于
浏览
270

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

Screenshot

5 回答

  • 52

    这是最后选择的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>
    

    Note: 知道可以在脚本(或控制台)中选择节点可能很有用,例如,一个常用的用途是角度元素选择器,因此您只需选择节点,然后运行:

    angular.element($0).scope()
    

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

  • 254

    $ 0返回最近选择的元素或JavaScript对象,$ 1返回最近选择的第二个元素,依此类推 .

    参考:Command Line API Reference

  • 1

    这里的其他答案清楚地解释了它的含义 . 我想解释它的用法 .

    您可以在 elements 选项卡中选择一个元素,然后切换到chrome中的 console 选项卡 . 只需输入 $0 or $1 或任何数字,然后按Enter键,该元素将显示在控制台中供您使用 .

    screenshot of chrome dev tools

  • 0

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

    在内部,Chrome维护一个堆栈,其中$ 0是所选元素,$ 1是上次选择的元素,$ 2将是在$ 1之前选择的元素,依此类推 .

    以下是它的一些应用:

    • 从控制台访问DOM元素: $0

    • 从控制台访问其属性: $0.parentElement

    • 从控制台更新其属性: $1.classList.add(...)

    • 从控制台更新CSS元素: $0.styles.backgroundColor="aqua"

    • 从控制台触发CSS事件: $0.click()

    • 做了很多更复杂的事情,比如: $0.appendChild(document.createElement("div"))

    观看所有这些:

    enter image description here

    支持声明:

    是的,我同意有更好的方法来执行这些操作,但是 this feature can come out handy in certain intricate scenarios ,就像需要点击DOM元素但是无法从UI这样做,因为它被其他元素覆盖,或者出于某种原因,那时在UI上不可见 .

  • 20

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

    document.getElementById , document.getElementsByClassName , document.querySelector
    

    所以点击一个html元素并在控制台中获取一个引用变量($ 0)是一个非常节省时间的时间

相关问题