מומלץ לצפות בסרטון ולהשלים את המדריכים האינטראקטיביים האלה כדי ללמוד את העקרונות הבסיסיים של צפייה ושינוי ה-DOM של דף באמצעות כלי הפיתוח ל-Chrome.
במדריך הזה אנו מניחים שאתם יודעים מה ההבדל בין DOM ל-HTML. הסבר מופיע בקטע נספח: HTML לעומת DOM.
הצגת צמתים של DOM
עץ ה-DOM בחלונית רכיבים הוא המקום שבו מבצעים את כל הפעילויות שקשורות ל-DOM בכלי הפיתוח.
בדיקת צומת
אם אתם מתעניינים בצומת DOM מסוים, האפשרות בדיקה היא דרך מהירה לפתוח את כלי הפיתוח ולבדוק את הצומת הזה.
- לוחצים לחיצה ימנית על Michelangelo למטה ובוחרים באפשרות בדיקה.
- מיכלאנג'לו
- Raphael
החלונית Elements ב-DevTools נפתחת.
<li>Michelangelo</li>
מודגש בעץ ה-DOM.
- לוחצים על הסמל Inspect בפינה השמאלית העליונה של כלי הפיתוח.
לוחצים על הטקסט למטה בטוקיו.
- טוקיו
ביירות
עכשיו,
<li>Tokyo</li>
מודגש בעץ ה-DOM.
בדיקת הצומת היא גם הצעד הראשון בדרך להצגה ולשינוי של הסגנונות של הצומת. תחילת העבודה עם הצגה ושינוי של CSS
ניווט בעץ DOM באמצעות מקלדת
אחרי שבוחרים צומת בעץ ה-DOM, אפשר לנווט בעץ ה-DOM באמצעות המקלדת.
לוחצים לחיצה ימנית על Ringo למטה ובוחרים באפשרות בדיקה.
<li>Ringo</li>
נבחר בעץ ה-DOM.- George
- Ringo משחק רשת
- Paul
ג'ון
מקישים פעמיים על מקש החץ מעלה. בחרת את
<ul>
.מקישים על מקש החץ שמאלה. הרשימה
<ul>
מתכווצת.מקישים שוב על מקש החץ שמאלה. ההורה של הצומת
<ul>
נבחר. במקרה הזה, זהו הצומת<li>
שמכיל את ההוראות לשלב 1.מקישים 3 פעמים על מקש החץ למטה כדי לבחור מחדש את הרשימה
<ul>
שסגרתם. זה אמור להיראות כך:<ul>...</ul>
מקישים על מקש החץ ימינה. הרשימה תתרחב.
גלילה לתצוגה
כשמציגים את עץ ה-DOM, לפעמים רוצים לבדוק צומת DOM שלא נמצא כרגע בחלון התצוגה. לדוגמה, נניח שגללתם לתחתית הדף ואתם רוצים להגיע לצומת <h1>
בחלק העליון של הדף. גלילה לתצוגה מאפשרת לשנות במהירות את מיקום אזור התצוגה כדי לראות את הצומת.
לוחצים לחיצה ימנית על Magritte למטה ובוחרים באפשרות בדיקה.
- Magritte
- סווין
עוברים לקטע נספח: גלילה לתצוגה שבתחתית הדף הזה. ההוראות ממשיכות שם.
אחרי שתשלימו את ההוראות שבתחתית הדף, תצטרכו לחזור לכאן.
הצג סרגלים
בעזרת סרגליים שמעל חלון התצוגה ומשמאל לו, אפשר למדוד את רוחב הרכיב ואת גובהו כשמעבירים מעליו את העכבר בחלונית רכיבים.
אפשר להפעיל את השורות המקבילות באחת משתי דרכים:
- מקישים על Control+Shift+P או Command+Shift+P (Mac) כדי לפתוח את תפריט הפקודות, מקלידים
Show rulers on hover
ומקישים על Enter. - בודקים את הגדרות > העדפות > רכיבים > הצגת שלבים במעבר עכבר מעליהם.
יחידת המידה של השליטים היא פיקסלים.
חיפוש צמתים
אפשר לחפש בעץ ה-DOM לפי מחרוזת, סלקטור CSS או סלקטור XPath.
- מעבירים את הסמן לחלונית רכיבים.
- מקישים על Control+F או על Command+F (ב-Mac). סרגל החיפוש נפתח בחלק התחתון של עץ ה-DOM.
צריך להקליד
The Moon is a Harsh Mistress
. המשפט האחרון מודגש בעץ ה-DOM.
כפי שצוין למעלה, סרגל החיפוש תומך גם בסלקטורים של CSS ו-XPath.
בחלונית Elements בוחרים את התוצאה התואמת הראשונה בעץ ה-DOM ומחזירים אותה לתצוגה באזור התצוגה. כברירת מחדל, זה קורה בזמן ההקלדה. אם משתמשים תמיד עם שאילתות חיפוש ארוכות, אפשר להגדיר לכלי הפיתוח להריץ חיפוש רק בהקשה על Enter.
כדי למנוע קפיצות מיותרות בין צמתים, מבטלים את הסימון של התיבה הגדרות הגדרות > העדפות > גלובלי > חיפוש בזמן ההקלדה.
עריכת ה-DOM
אפשר לערוך את ה-DOM בזמן אמת ולראות איך השינויים האלה משפיעים על הדף.
עריכת תוכן
כדי לערוך את התוכן של צומת, לוחצים לחיצה כפולה על התוכן בעץ ה-DOM.
לוחצים לחיצה ימנית על מיכל למטה ובוחרים באפשרות בדיקה.
- טיגון
- מישל
בעץ ה-DOM, לוחצים לחיצה כפולה על
Michelle
. במילים אחרות, לוחצים לחיצה כפולה על הטקסט בין<li>
ל-</li>
. הטקסט יודגש בכחול כדי לציין שהוא נבחר.מוחקים את
Michelle
, מקלידיםLeela
ומקישים על Enter כדי לאשר את השינוי. הטקסט שלמעלה ישתנה מ-Michelle ל-Leela.
ערוך מאפיינים
כדי לערוך מאפיינים, לוחצים לחיצה כפולה על השם או הערך של המאפיין. תוכלו להיעזר בהוראות הבאות כדי להוסיף מאפיינים לצומת.
לוחצים לחיצה ימנית על Howard למטה ובוחרים באפשרות בדיקה.
- Howard
- יהודה
לוחצים לחיצה כפולה על
<li>
. הטקסט מודגש כדי לציין שהצומת נבחר.מקישים על מקש החץ ימינה, מוסיפים רווח, מקלידים
style="background-color:gold"
ומקישים על Enter. צבע הרקע של הצומת ישתנה לזהב.
אפשר גם להשתמש באפשרות עריכת המאפיין בלחיצה ימנית.
עריכת סוג הצומת
כדי לערוך את סוג הצומת, לוחצים לחיצה כפולה על הסוג ומקלידים את הסוג החדש.
לוחצים לחיצה ימנית על Hank למטה ובוחרים באפשרות בדיקה.
- דיקנים
- Hank
- תדוס
- Brock
לוחצים לחיצה כפולה על
<li>
. הטקסטli
מודגש.מוחקים את
li
, מקלידיםbutton
ומקישים על Enter. הצומת<li>
ישתנה לצומת<button>
.
עריכה כ-HTML
כדי לערוך צמתים כ-HTML עם הדגשת תחביר והשלמה אוטומטית, בוחרים באפשרות עריכה כ-HTML בתפריט הנפתח של הצומת.
לוחצים לחיצה ימנית על Leonard למטה ובוחרים באפשרות בדיקה.
- פני
- Howard
- נאור
- Leonard
בחלונית Elements, לוחצים לחיצה ימנית על הצומת הנוכחי ובוחרים באפשרות Edit as HTML בתפריט הנפתח.
מקישים על Enter כדי להתחיל שורה חדשה ומתחילים להקליד
<l
. כלי הפיתוח מדגיש את התחביר של HTML ומספק השלמה אוטומטית של תגים.בוחרים את הרכיב
li
בתפריט ההשלמה האוטומטית ומקלידים>
. כלי הפיתוח מוסיפים באופן אוטומטי את תג הסגירה</li>
אחרי הסמן.מקלידים
Sheldon
בתוך התג ומקישים על Control או Command + Enter כדי להחיל את השינויים.
שכפול צומת
אפשר להעתיק רכיב באמצעות האפשרות שכפול רכיב בלחיצה ימנית.
לוחצים לחיצה ימנית על Nana למטה ובוחרים באפשרות בדיקה.
- Bonfire of the Vanities
- ננה
- אורלנדו
- רעש לבן
בחלונית Elements, לוחצים לחיצה ימנית על
<li>Nana</li>
ובוחרים באפשרות Duplicate element בתפריט הנפתח.חוזרים לדף. פריט הרשימה הוכפל באופן מיידי.
אפשר גם להשתמש במקשי הקיצור: Shift + Alt + חץ למטה (ב-Windows וב-Linux) ו-Shift + Option + חץ למטה (ב-macOS).
צילום מסך של צומת
אפשר לצלם מסך של כל צומת בנפרד בעץ ה-DOM באמצעות צילום מסך של הצומת.
לוחצים לחיצה ימנית על תמונה כלשהי בדף הזה ובוחרים באפשרות בדיקה.
בחלונית רכיבים, לוחצים לחיצה ימנית על כתובת ה-URL של התמונה ובוחרים באפשרות צילום המסך של הצומת בתפריט הנפתח.
צילום המסך יישמר ב'הורדות'.
מידע נוסף על דרכים נוספות לצילום מסך באמצעות כלי הפיתוח זמין ב-4 דרכים לצלם צילומי מסך באמצעות כלי הפיתוח.
שינוי הסדר של צמתים ב-DOM
גוררים צמתים כדי לשנות את הסדר שלהם.
לוחצים לחיצה ימנית על Elvis Presley למטה ובוחרים באפשרות בדיקה. שימו לב שהוא הפריט האחרון ברשימה.
- סטיבי וונדר
- טום ווייטס
- ברי סחרוף
- אלביס פרסלי
בעץ DOM, גוררים את
<li>Elvis Presley</li>
לראש הרשימה.
אילוץ מצב
אפשר לאלץ צמתים להישאר במצבים כמו :active
, :hover
, :focus
, :visited
ו-:focus-within
.
מעבירים את העכבר מעל לורד מלך הקופים למטה. צבע הרקע הופך לכתום.
- ילדי הפלא
- פשע ועונש
- מובי דיק
לוחצים לחיצה ימנית על שר הזבובים למעלה ובוחרים באפשרות בדיקה.
לוחצים לחיצה ימנית על
<li class="demo--hover">The Lord of the Flies</li>
ובוחרים באפשרות Force State > :hover. אם האפשרות הזו לא מופיעה, אפשר לעיין בנספח: אפשרויות חסרות. צבע הרקע נשאר כתום גם אם לא מעבירים את העכבר מעל הצומת.
הסתרת צומת
מקישים על H כדי להסתיר צומת.
לוחצים לחיצה ימנית על The Stars My Destination שבהמשך ובוחרים באפשרות בדיקה.
- הרוזן ממונטה קריסטו
- The Stars My Destination
מקישים על המקש H. הצומת מוסתר. אפשר גם ללחוץ לחיצה ימנית על הצומת ולהשתמש באפשרות הסתרת המרכיב.
מקישים שוב על המקש H. הצומת יוצג שוב.
מחיקת צומת
מקישים על Delete כדי למחוק צומת.
לוחצים לחיצה ימנית על Foundation למטה ובוחרים באפשרות בדיקה.
- האיש המאויר
- דרך המראה
- קרן
מקישים על המקש Delete. הצומת נמחק. אפשר גם ללחוץ לחיצה ימנית על הצומת ולהשתמש באפשרות מחיקת רכיב.
מקישים על Control+Z או Command+Z (Mac). הפעולה האחרונה מבוטלת והצומת מופיע שוב.
גישה לצמתים במסוף
ב-DevTools יש כמה קיצורי דרך לגישה לצמתים של DOM מהמסוף, או לקבלת הפניות אליהם ב-JavaScript.
הפניה לצומת שנבחרת כרגע באמצעות $0
כשבודקים צומת, הטקסט == $0
לצד הצומת מציין שאפשר להפנות לצומת הזה במסוף באמצעות המשתנה $0
.
לוחצים לחיצה ימנית על יד שמאל של החושך למטה ובוחרים באפשרות בדיקה.
- יד שמאל של החושך
- חולית
מקישים על מקש Escape כדי לפתוח את התפריט הנפתח של המסוף.
מקלידים
$0
ומקישים על המקש Enter. התוצאה של הביטוי מראה ש-$0
שווה ל-<li>The Left Hand of Darkness</li>
.מעבירים את העכבר מעל התוצאה. הצומת מודגש באזור התצוגה.
לוחצים על
<li>Dune</li>
בעץ ה-DOM, מקלידים$0
שוב במסוף ולוחצים שוב על Enter. עכשיו, הערך של$0
הוא<li>Dune</li>
.
אחסון כמשתנה גלובלי
אם צריך להפנות שוב ושוב לצומת מסוים, כדאי לאחסן אותו כמשתנה גלובלי.
לוחצים לחיצה ימנית על The Big Sleep למטה ובוחרים באפשרות בדיקה.
- השינה הגדולה
- להתראות ארוכות
לוחצים לחיצה ימנית על
<li>The Big Sleep</li>
בעץ ה-DOM ובוחרים באפשרות שמירה כמשתנה גלובלי. אם האפשרות הזו לא מופיעה, אפשר לעיין בנספח: אפשרויות חסרות.מקלידים
temp1
במסוף ומקישים על Enter. התוצאה של הביטוי מראה שהמשתנה מקבל את הערך של הצומת.
העתקת נתיב JS
מעתיקים את הנתיב של JavaScript לצומת כשצריך להפנות אליו בבדיקה אוטומטית.
לוחצים לחיצה ימנית על אחים Karamazov למטה ובוחרים באפשרות בדיקה.
- האחים קאראמאזוב
- פשע ועונש
לוחצים לחיצה ימנית על
<li>The Brothers Karamazov</li>
בעץ ה-DOM ובוחרים באפשרות Copy > Copy JS Path. ביטויdocument.querySelector()
שמתמקד בצומת הועתק ללוח.מקישים על Control + V או על Command + V (Mac) כדי להדביק את הביטוי במסוף.
מקישים על Enter כדי להעריך את הביטוי.
הפסקה בשינויים ב-DOM
בעזרת DevTools אפשר להשהות את JavaScript של דף כשקוד ה-JavaScript משנה את ה-DOM. נקודות עצירה לשינויים ב-DOM
השלבים הבאים
זה מכסה את רוב התכונות שקשורות ל-DOM בכלי הפיתוח. כדי לגלות את שאר האפשרויות, לוחצים לחיצה ימנית על צמתים בעץ ה-DOM ומנסים את האפשרויות האחרות שלא צוינו במדריך הזה. אפשר גם לעיין במאמר מקשי קיצור בחלונית Elements.
כדאי לעיין בדף הבית של כלי הפיתוח ל-Chrome כדי לגלות את כל מה שאפשר לעשות עם כלי הפיתוח.
כדי לפנות לצוות של כלי הפיתוח או לקבל עזרה מהקהילה של כלי הפיתוח, ראו קהילה.
נספח: HTML לעומת DOM
בקטע הזה נסביר במהירות את ההבדל בין HTML לבין DOM.
כשמשתמשים בדפדפן אינטרנט כדי לבקש דף כמו https://example.com
, השרת מחזיר קוד HTML כזה:
<!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>
הדפדפן מנתח את ה-HTML ויוצר עץ של אובייקטים כך:
html
head
title
body
h1
p
script
העץ הזה של אובייקטים, או צמתים, שמייצג את תוכן הדף נקרא DOM. בשלב הזה הוא נראה כמו ה-HTML, אבל נניח שהסקריפט שאליו מתייחסים בחלק התחתון של ה-HTML מפעיל את הקוד הזה:
const h1 = document.querySelector('h1');
h1.parentElement.removeChild(h1);
const p = document.createElement('p');
p.textContent = 'Wildcard!';
document.body.appendChild(p);
הקוד הזה מסיר את הצומת h1
ומוסיף עוד צומת p
ל-DOM. עכשיו ה-DOM המלא נראה כך:
html
head
title
body
p
script
p
קובץ ה-HTML של הדף שונה עכשיו מה-DOM שלו. במילים אחרות, ה-HTML מייצג את תוכן הדף הראשוני, וה-DOM מייצג את תוכן הדף הנוכחי. כש-JavaScript מוסיפה, מסירה או עורכת צמתים, ה-DOM הופך להיות שונה מה-HTML.
למידע נוסף, ראו מבוא ל-DOM.
נספח: גלילה עד שהתוכן יהיה גלוי לעין
הקטע הזה הוא המשך של הקטע גלילה לתצוגה. כדי להשלים את הקטע, פועלים לפי ההוראות הבאות.
- הצומת
<li>Magritte</li>
עדיין אמור להיות מסומן בעץ ה-DOM. אם לא, חוזרים אל גלילה לתצוגה ומתחילים מחדש. לוחצים לחיצה ימנית על הצומת
<li>Magritte</li>
ובוחרים באפשרות Scroll into view. חלון התצוגה גולל למעלה כדי שתוכלו לראות את הצומת Magritte. אם האפשרות הצגה בגלילה לא מופיעה, אפשר לעיין בנספח: אפשרויות חסרות.
נספח: אפשרויות חסרות
בהרבה מההוראות במדריך הזה מוסבר ללחוץ לחיצה ימנית על צומת בעץ ה-DOM ואז לבחור אפשרות מתפריט ההקשר שיופיע. אם האפשרות שציינתם לא מופיעה בתפריט ההקשר, נסו ללחוץ לחיצה ימנית מחוץ לטקסט של הצומת.