Chromeデベロッパーツールで== $ 0(2倍はドル0)はどういう意味ですか?


310

Google Chromeの開発者ツールで要素を選択する==$0と、選択した要素の横に表示 されます。どういう意味ですか?

スクリーンショット


28
選択されたDOMノードIDです。ノードを選択$0してコンソールに書き込み、何が表示されるかを確認してください;)
デッドロック

33
それは非常に混乱しています。誰かがスクリプトタグを入れるのを忘れたjavascriptを書いたようです。私は自分のコードのどこがめちゃくちゃだったかを理解するために十分な10分間を費やしました...
Kip


2
クリックした行の異なる背景色だけで十分だと思います... HTMLソースに== $ 0を追加する必要はないようです...悪い考え。クロムはクロムっぽいものを行います。
Sergio Abreu

回答:


286

最後に選択されたDOMノードインデックスです。Chromeは、選択した各DOMノードにインデックスを割り当てます。つまり、$0常に選択した最後のノードを$1指し、その前に選択したノードを指します。最近選択したノードのスタックのようなものと考えてください。

例として、以下を検討してください

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

今、あなたはデベロッパーツールのコンソールを開き、選択#sunday#mondayおよび#tuesday上記の順番で、次のようなIDを取得します。

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

注: ノードがスクリプト(またはコンソール)で選択可能であることを知っていると便利な場合があります。たとえば、これの一般的な用途の1つは角度要素セレクターです。ノードを選択して実行するだけです。

angular.element($0).scope()

これで、コンソールからノードスコープにアクセスできました。


9
これの使用/利点は何ですか?
joe_young 2016

6
デバッグに役立つと思います。単純なセレクターを使用して検査された要素にアクセスする機能は、デバッグ中の多くの状況で役立ちます。
デッドロック

6
では== $0、UIには常に何が表示されているのでしょうか。それを知っている人は誰でも$0それがどの要素であるかをすでに知っているでしょうし、知らない人には意味がありません。
BlueRaja-Danny Pflughoeft 2016

6
@joe_young、何かを微調整するときにコンソールの要素にすばやくアクセスできるという利点があると思います。これは私がまとめたビデオです。youtu.be/AKLdx8z6aDk
RoccoB 2017年

1
@LucaDeNardiはい、それは本番環境では有害であり、すべてのAngular開発者が次の行を追加します。-$ compileProvider.debugInfoEnabled(false); アプリの構成で、パフォーマンスを向上させます。ただし、angular.reloadWithDebugInfo();は簡単に実行できます。必要に応じてコンソールでデバッグします。
Varun Sharma


26

ここでの他の答えはそれが何を意味するのかを明確に説明しました。私はその使用法を説明したいです。

elementsタブで要素を選択し、consoleクロムのタブに切り替えることができます。$0 or $1数字を入力してEnterキーを押すだけで、要素がコンソールに表示され、使用できるようになります。

Chrome開発ツールのスクリーンショット


13

これは、コンソールで$ 0と入力すると、その特定の要素と同等になることを伝えるChromeのヒントです。

内部的に、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"))

このすべてを実際に見てください:

ここに画像の説明を入力してください

バッキングステートメント:

はい、私はこれらのアクションを実行するより良い方法があることに同意しますが、この機能は、DOM要素をクリックする必要がある場合など、特定の複雑なシナリオ便利になる可能性がありますが、UIからは実行できません。他の要素、または何らかの理由で、現時点ではUIに表示されません。


2

これは、デバッグ時にhtml要素の参照を取得するための単純な構文です。通常、これらの種類のタスクはこれらのメソッドによって実行されます

document.getElementById , document.getElementsByClassName , document.querySelector

したがって、html要素をクリックしてコンソールで参照変数($ 0)を取得すると、日中の時間を大幅に節約できます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.