Obejrzyj film i wykonaj interaktywne samouczki, aby poznać podstawy wyświetlania i zmieniania modelu DOM strony za pomocą Narzędzi deweloperskich w Chrome.
W tym samouczku zakładamy, że znasz różnicę między DOM a HTML. Więcej informacji znajdziesz w załączniku: HTML a DOM.
Wyświetlanie węzłów DOM
W panelu Elementy w drzewie DOM możesz wykonywać wszystkie czynności związane z DOM w DevTools.
Sprawdzanie węzła
Jeśli interesuje Cię konkretny węzeł DOM, możesz szybko otworzyć DevTools i zbadać ten węzeł, klikając Sprawdź.
- Kliknij prawym przyciskiem myszy Michelangelo poniżej i wybierz Zbadaj.
- Michelangelo
- RaphaelOtworzy się panel Elementy w Narzędziach deweloperskich.
<li>Michelangelo</li>
jest wyróżnione w drzewie DOM.
- W lewym górnym rogu DevTools kliknij ikonę Sprawdź.
Kliknij tekst Tokio poniżej.
- Tokio
Bejrut
Teraz element
<li>Tokyo</li>
jest wyróżniony na drzewie DOM.
Sprawdzanie węzła jest też pierwszym krokiem do wyświetlania i zmieniania stylów węzła. Zobacz Pierwsze kroki z wyświetlaniem i zmienianiem kodu CSS.
Nawigowanie po drzewie DOM za pomocą klawiatury
Po wybraniu węzła w drzewie DOM możesz poruszać się po tym drzewie za pomocą klawiatury.
Kliknij prawym przyciskiem myszy Ringo poniżej i kliknij Zbadaj.
<li>Ringo</li>
jest zaznaczone w drzewie DOM.- George
- Ringo
- Paul
John
Naciśnij 2 razy klawisz strzałki w górę. Wybrano:
<ul>
.Naciśnij klawisz strzałki w lewo. Lista
<ul>
zostaje zwinięta.Ponownie naciśnij klawisz strzałki w lewo. Wybrano element nadrzędny węzła
<ul>
. W tym przypadku jest to węzeł<li>
zawierający instrukcje kroku 1.Naciśnij 3 razy klawisz strzałki w dół, aby ponownie wybrać listę
<ul>
, którą właśnie zwijasz. Powinien on wyglądać mniej więcej tak:<ul>...</ul>
Naciśnij klawisz strzałki w prawo. Lista się rozwinie.
Przewiń, aby pokazać
Podczas przeglądania drzewa DOM możesz czasem zauważyć węzeł DOM, który nie jest obecnie widoczny w obszarze widoku. Załóżmy na przykład, że przewijasz stronę w dół i chcesz zobaczyć węzeł <h1>
u góry strony. Przesuwanie widoku umożliwia szybkie przeniesienie widoku, aby zobaczyć węzeł.
Kliknij prawym przyciskiem myszy Magritte poniżej i wybierz Zbadaj.
- Magritte
- Soutine
Przejdź do sekcji Załącznik: przewijanie do widoku na dole tej strony. Tam znajdziesz dalsze instrukcje.
Po wykonaniu instrukcji u dołu strony wrócisz tutaj.
Pokaż linijki
Za pomocą linijek nad widocznym obszarem i po jego lewej stronie możesz mierzyć szerokość i wysokość elementu, gdy najedziesz na niego kursorem w panelu Elementy.
Możesz włączyć linijki na 2 sposoby:
- Naciśnij Control + Shift + P lub Command + Shift + P (Mac), aby otworzyć menu polecenia, wpisać
Show rulers on hover
i nacisnąć Enter. - Sprawdź Ustawienia > Preferencje > Elementy > Pokaż linijki po najechaniu kursorem.
Jednostka miary linijek to piksele.
Wyszukiwanie węzłów
W drzewie DOM możesz wyszukiwać według ciągu, selektora CSS lub selektora XPath.
- Przesuń kursor na panel Elementy.
- Naciśnij Control + F lub Command + F (Mac). Pasek wyszukiwania otworzy się u dołu drzewa DOM.
Wpisz
The Moon is a Harsh Mistress
. Ostatnie zdanie jest wyróżnione na drzewie DOM.
Jak wspomnieliśmy powyżej, pasek wyszukiwania obsługuje też selektory CSS i XPath.
Panel Elementy wybiera pierwszy pasujący wynik w drzewie DOM i przesuwa go do widoku w obszarze widoku. Domyślnie dzieje się to podczas pisania. Jeśli zawsze pracujesz z długimi zapytaniami, możesz ustawić, aby DevTools wykonywało wyszukiwanie tylko po naciśnięciu Enter.
Aby uniknąć niepotrzebnych przeskakiwania między węzłami, odznacz pole wyboru
Ustawienia > Ustawienia > Globalne > Szukaj podczas pisania.Edytowanie DOM
Możesz edytować DOM na bieżąco i sprawdzać, jak zmiany wpływają na stronę.
Edytuj treść
Aby edytować zawartość węzła, kliknij ją dwukrotnie w drzewie DOM.
Kliknij prawym przyciskiem myszy Michelle poniżej i kliknij Zbadaj.
- Fry
- Michelle
W drzewie DOM kliknij dwukrotnie
Michelle
. Inaczej mówiąc, kliknij dwukrotnie tekst między<li>
i</li>
. Tekst jest wyróżniony na niebiesko, aby wskazać, że został wybrany.Usuń
Michelle
, wpiszLeela
i naciśnij Enter, aby potwierdzić zmianę. Tekst powyżej zmienia się z Michelle na Leela.
Edytuj atrybuty
Aby edytować atrybuty, kliknij dwukrotnie ich nazwę lub wartość. Aby dowiedzieć się, jak dodawać atrybuty do węzła, postępuj zgodnie z instrukcjami podanymi poniżej.
Kliknij prawym przyciskiem myszy Howard poniżej i kliknij Zbadaj.
- Howard
- Vince
Kliknij dwukrotnie
<li>
. Tekst jest podświetlony, aby wskazać, że węzeł jest wybrany.Naciśnij strzałkę w prawo, dodaj spację, wpisz
style="background-color:gold"
i naciśnij Enter. Kolor tła węzła zmienia się na złoty.
Możesz też kliknąć prawym przyciskiem myszy opcję Edytuj atrybut.
Edytowanie typu węzła
Aby edytować typ węzła, kliknij go dwukrotnie, a potem wpisz nowy typ.
Kliknij prawym przyciskiem myszy Hank poniżej i kliknij Zbadaj.
- Dean
- Myszy
- Thaddeus
- Brock
Kliknij dwukrotnie
<li>
. Tekstli
jest wyróżniony.Usuń
li
, wpiszbutton
i naciśnij Enter. Węzeł<li>
zmienia się na węzeł<button>
.
Edytuj jako HTML
Aby edytować węzły jako kod HTML z podświetleniem składni i autouzupełnianiem, w menu węzła kliknij Edytuj jako HTML.
Kliknij prawym przyciskiem myszy Leonard poniżej i wybierz Zbadaj.
- Pens
- Howard
- Rajesh
- Leonard
W panelu Elementy kliknij prawym przyciskiem myszy bieżący węzeł i w menu kliknij Edytuj jako HTML.
Naciśnij Enter, aby rozpocząć nowy wiersz i zacząć pisać
<l
. Narzędzia deweloperskie wyróżniają składnię HTML i automatycznie uzupełniają tagi.W menu autouzupełniania wybierz element
li
i wpisz>
. Narzędzie DevTools automatycznie dodaje zamykający tag</li>
po kursorze.Wpisz
Sheldon
wewnątrz tagu i naciśnij Control / Command + Enter, aby zastosować zmiany.
Duplikowanie węzła
Element możesz powielić, klikając prawym przyciskiem myszy opcję Powiel element.
Kliknij prawym przyciskiem Nana poniżej i wybierz Zbadaj.
- Ognisko próżności
- Nana
- Orlando
- Biały szum
W panelu Elementy kliknij
<li>Nana</li>
prawym przyciskiem myszy i w menu kliknij Duplikuj element.Wróć na stronę. Element listy został natychmiast zduplikowany.
Możesz też użyć skrótów klawiszowych: Shift + Alt + strzałka w dół (Windows i Linux) oraz Shift + Option + strzałka w dół (MacOS).
Zrób zrzut ekranu węzła
Za pomocą opcji Zrób zrzut ekranu węzła możesz zrobić zrzut ekranu dowolnego węzła w drzewie DOM.
Kliknij prawym przyciskiem myszy dowolny obraz na tej stronie i kliknij Zbadaj.
W panelu Elementy kliknij prawym przyciskiem myszy adres URL obrazu i w menu kliknij Zrób zrzut ekranu węzła.
Zrzut ekranu zostanie zapisany w folderze Pobrane.
Aby dowiedzieć się więcej o robieniu zrzutów ekranu za pomocą Narzędzi deweloperskich, przeczytaj artykuł 4 sposoby robienia zrzutów ekranu za pomocą Narzędzi deweloperskich.
Zmienianie kolejności węzłów DOM
Aby zmienić kolejność, przeciągnij węzły.
Kliknij prawym przyciskiem myszy Elvis Presley poniżej i kliknij Zbadaj. Zwróć uwagę, że jest to ostatni element na liście.
- Stevie Wonder
- Tom Waits
- Kuba Sienkiewicz
- Elvis Presley
W drzewie DOM przeciągnij
<li>Elvis Presley</li>
na początek listy.
Wymuś stan
Możesz wymusić, aby węzły pozostawały w takich stanach jak :active
, :hover
, :focus
, :visited
i :focus-within
.
Najedź kursorem na Władca much na niebie poniżej. Kolor tła zmieni się na pomarańczowy.
- Władca much
- Zbrodnia i kara
- Moby Dick
Kliknij prawym przyciskiem myszy Lord of the Flies powyżej i wybierz Zbadaj.
Kliknij
<li class="demo--hover">The Lord of the Flies</li>
prawym przyciskiem myszy i wybierz Wymuś stan > :wskaż. Jeśli nie widzisz tej opcji, zapoznaj się z załącznikiem: Brakujące opcje. Kolor tła pozostaje pomarańczowy, mimo że nie najeżdżasz kursorem na węzeł.
Ukrywanie węzła
Naciśnij H, aby ukryć węzeł.
Kliknij prawym przyciskiem myszy The Stars My Destination poniżej i wybierz Zbadaj.
- Hrabina Monte Christo
- The Stars My Destination
Naciśnij klawisz H. Węzeł jest ukryty. Możesz też kliknąć węzeł prawym przyciskiem myszy i użyć opcji Ukryj element.
Ponownie naciśnij klawisz H. Węzeł zostanie ponownie wyświetlony.
Usuwanie węzła
Aby usunąć węzeł, naciśnij Usuń.
Kliknij prawym przyciskiem myszy Foundation poniżej i kliknij Zbadaj.
- The Illustrated Man
- Przez lustro
- Fundacja
Naciśnij klawisz Usuń. Węzeł zostanie usunięty. Możesz też kliknąć węzeł prawym przyciskiem myszy i użyć opcji Usuń element.
Naciśnij Control + Z lub Command + Z (Mac). Ostatnie działanie zostanie cofnięte, a węzeł pojawi się ponownie.
Dostęp do węzłów w konsoli
Narzędzia dla programistów udostępniają kilka skrótów umożliwiających dostęp do węzłów DOM z Konsoli lub uzyskiwanie do nich odwołań w JavaScript.
Odwoływanie się do aktualnie wybranego węzła za pomocą wartości 0
Gdy sprawdzasz węzeł, obok niego zobaczysz tekst == $0
, co oznacza, że możesz odwoływać się do tego węzła w Konsoli za pomocą zmiennej $0
.
Kliknij prawym przyciskiem myszy The Left Hand of Darkness poniżej i wybierz Zbadaj.
- The Left Hand of Darkness
- Diuna
Aby otworzyć panel konsoli, naciśnij klawisz Escape.
Wpisz
$0
i naciśnij klawisz Enter. Wynik wyrażenia pokazuje, że$0
ma wartość<li>The Left Hand of Darkness</li>
.Najedź kursorem na wynik. W widocznym obszarze jest wyróżniony.
W drzewie DOM kliknij
<li>Dune</li>
, ponownie wpisz$0
w Konsoli i ponownie naciśnij Enter. Teraz$0
ma wartość<li>Dune</li>
.
Zapisz jako zmienną globalną
Jeśli musisz wielokrotnie odwoływać się do węzła, zapisz go jako zmienną globalną.
Kliknij prawym przyciskiem myszy The Big Sleep poniżej i wybierz Zbadaj.
- The Big Sleep
- The Long Goodbye
Kliknij
<li>The Big Sleep</li>
prawym przyciskiem myszy w drzewie DOM i wybierz Zapisz jako zmienną globalną. Jeśli nie widzisz tej opcji, zapoznaj się z załącznikiem: Brakujące opcje.Wpisz
temp1
w Konsoli i naciśnij Enter. Wynik wyrażenia pokazuje, że zmienna jest przypisana do węzła.
Kopiowanie ścieżki JS
Gdy musisz odwołać się do ścieżki JavaScript w teście automatycznym, skopiuj ją do węzła.
Kliknij prawym przyciskiem myszy Braci Karamazow poniżej i wybierz Zbadaj.
- Bracia Karamazow
- Zbrodnia i kara
Kliknij
<li>The Brothers Karamazov</li>
prawym przyciskiem myszy w drzewie DOM i wybierz Kopiuj > Kopiuj ścieżkę JS. Wyrażeniedocument.querySelector()
, które rozwiązuje się do węzła, zostało skopiowane do schowka.Naciśnij Control + V lub Command + V (Mac), aby wkleić wyrażenie do konsoli.
Aby przeanalizować wyrażenie, naciśnij Enter.
Przerwanie przy zmianach DOM
Narzędzia programistyczne umożliwiają wstrzymanie kodu JavaScript strony, gdy modyfikuje on DOM. Zobacz punkty przerwania zmian w DOM.
Dalsze kroki
Obejmuje to większość funkcji związanych z DOM w Narzędziach deweloperskich. Pozostałe opcje możesz odkryć, klikając prawym przyciskiem myszy węzły w drzewie DOM i eksperymentując z innymi opcjami, które nie zostały omówione w tym samouczku. Zobacz też skróty klawiszowe w panelu Elementy.
Odwiedź stronę główną Narzędzi deweloperskich w Chrome, aby dowiedzieć się, co jeszcze możesz robić za pomocą tych narzędzi.
Jeśli chcesz skontaktować się z zespołem DevTools lub uzyskać pomoc od społeczności DevTools, odwiedź stronę Społeczność.
Załącznik: HTML a DOM
W tej sekcji krótko wyjaśniamy różnicę między HTML a DOM.
Gdy używasz przeglądarki do wysłania żądania strony, takiej jak https://example.com
, serwer zwraca kod HTML w takiej postaci:
<!doctype html>
<html>
<head>
<title>Hello, world!</title>
</head>
<body>
<h1>Hello, world!</h1>
<p>This is a hypertext document on the World Wide Web.</p>
<script src="/script.js" async></script>
</body>
</html>
Przeglądarka analizuje kod HTML i tworzy drzewo obiektów, które wygląda tak:
html
head
title
body
h1
p
script
To drzewo obiektów, czyli węzłów, które reprezentuje zawartość strony, nazywa się DOM. Obecnie wygląda on tak samo jak kod HTML, ale załóżmy, że skrypt, do którego odwołuje się kod HTML na dole, wykonuje ten kod:
const h1 = document.querySelector('h1');
h1.parentElement.removeChild(h1);
const p = document.createElement('p');
p.textContent = 'Wildcard!';
document.body.appendChild(p);
Ten kod usuwa węzeł h1
i dodaje do DOM węzeł p
. Cały DOM wygląda teraz tak:
html
head
title
body
p
script
p
Kod HTML strony różni się teraz od jej DOM-u. Innymi słowy, HTML reprezentuje początkową treść strony, a DOM – bieżącą treść strony. Gdy JavaScript dodaje, usuwa lub edytowanie węzłów, DOM staje się inny niż HTML.
Więcej informacji znajdziesz w artykule Wprowadzenie do DOM.
Załącznik: Przewiń, aby pokazać
To jest kontynuacja sekcji Przewijanie do widoku. Aby wypełnić tę sekcję, postępuj zgodnie z instrukcjami poniżej.
- Węzeł
<li>Magritte</li>
powinien być nadal zaznaczony w drzewie DOM. Jeśli nie, wróć do sekcji Przesuwanie do widoku i zacznij od nowa. Kliknij prawym przyciskiem myszy węzeł
<li>Magritte</li>
i wybierz Przesuń widok. Widok przewija się w górę, aby można było zobaczyć węzeł Magritte. Jeśli nie widzisz opcji Przesuń do widoku, zapoznaj się z załącznikiem: brakujące opcje.
Załącznik: brakujące opcje
Wiele instrukcji w tym samouczku wymaga kliknięcia prawym przyciskiem myszy węzła w drzewie DOM, a potem wybrania opcji z wyświetlonego menu kontekstowego. Jeśli nie widzisz określonej opcji w menu kontekstowym, spróbuj kliknąć prawym przyciskiem myszy w pobliżu tekstu węzła.