Chrome 개발자 도구에서 == $ 0 (이중 값은 0)은 무엇을 의미하나요?


310

Chrome 개발자 도구에서 요소를 선택 ==$0하면 선택한 요소 옆에 표시됩니다. 그게 무슨 뜻이야?

스크린 샷


28
선택된 DOM 노드 ID입니다. 노드를 선택 $0하고 콘솔에 쓰고 시도하는 것을보십시오 ;)
교착 상태

33
매우 혼란 스럽습니다. 누군가가 스크립트 태그에 넣지 않은 자바 스크립트를 작성한 것 같습니다. 나는 내 코드에서 엉망이 된 곳을 알아 내려고 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>

이제 DevTools로 콘솔 및 선택 열 #sunday, #monday그리고 #tuesday언급 된 순서대로, 당신이 ID를 같이 얻을 것이다 :

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

참고 : 스크립트 (또는 콘솔)에서 노드를 선택할 수 있다는 것을 알고 있으면 유용 할 수 있습니다. 예를 들어 일반적으로 각도 요소 선택기가 사용되므로 간단히 노드를 선택하여 다음을 실행할 수 있습니다.

angular.element($0).scope()

Voila는 콘솔을 통해 노드 범위에 액세스 할 수 있습니다.


9
이것의 사용 / 이점은 무엇입니까?
joe_young

6
디버깅에 도움이 될 수 있다고 생각합니다. 간단한 선택기를 사용하여 검사 된 요소에 액세스하는 기능은 디버깅 중에 여러 상황에서 도움이 될 수 있습니다.
교착 상태

6
그렇다면 항상 == $0UI에 좋은 점이 무엇 입니까? 알고있는 사람 $0은 이미 어떤 요소인지 알고, 그렇지 않은 사람에게는 의미가 없습니다.
BlueRaja-대니 Pflughoeft

6
@ joe_young, 나는 물건을 조정할 때 이점이 콘솔의 요소에 빠르게 액세스 할 수 있다고 생각합니다. 여기 제가 함께 모은 비디오가 있습니다! youtu.be/AKLdx8z6aDk
RoccoB

1
@LucaDeNardi 네, 프로덕션 환경에 해롭고 모든 Angular 개발자는이 줄을 추가합니다 :-$ compileProvider.debugInfoEnabled (false); 성능 향상을 위해 앱 구성에서 그러나 angular.reloadWithDebugInfo ();를 쉽게 실행할 수 있습니다. 필요한 경우 콘솔에서 디버그합니다.
Varun Sharma

57

$ 0은 가장 최근에 선택한 요소 또는 JavaScript 객체를 반환하고 $ 1은 가장 최근에 선택된 두 번째 요소 등을 반환합니다.

참조 : 명령 행 API 참조


26

여기에있는 다른 답변은 그 의미가 무엇인지 명확하게 설명했으며 그 사용법을 설명하고 싶습니다.

elements탭 에서 요소를 선택하고 console크롬 에서 탭으로 전환 할 수 있습니다 . 그냥 입력 $0 or $1또는 숫자 입력하고 Enter 키를 누릅니다 무엇이든하고 요소는 사용하기 위해 콘솔에 표시됩니다.

크롬 개발 도구의 스크린 샷


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에서 수행 할 수는 없습니다. 다른 요소 또는 어떤 이유로 든 현재 UI에 표시되지 않습니다.


2

디버깅 시간 동안 html 요소를 참조하기위한 간단한 구문입니다. 일반적으로 이러한 종류의 작업은 이러한 방법으로 수행됩니다.

document.getElementById , document.getElementsByClassName , document.querySelector

따라서 html 요소를 클릭하고 콘솔에서 참조 변수 ($ 0)를 얻는 것은 하루 동안 시간을 ​​크게 절약합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.