DOM-Eigenschaften in JavaScript erkunden

CSSCSSBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden die Teilnehmer die DOM-Eigenschaften (Document Object Model) in JavaScript erkunden, indem sie eine interaktive HTML-Dokument erstellen und JavaScript verwenden, um verschiedene Dokumentattribute zuzugreifen und zu manipulieren. Das Lab bietet einen praxisorientierten Ansatz, um Schlüssel-DOM-Eigenschaften wie Dokumenttitel, URL, Links, Bilder und Körperinhalt zu verstehen.

Durch einen schrittweisen Prozess werden die Lernenden zunächst eine grundlegende HTML-Struktur erstellen und dann zunehmend JavaScript verwenden, um mit verschiedenen Dokumenteigenschaften zu interagieren. Indem sie Methoden wie das Abrufen des Dokumenttitels, das Abrufen von URLs und Links, das Zählen von Bildern und das Erkunden von Dokumentkörper- und Cookie-Eigenschaften untersuchen, werden die Teilnehmer praktische Einblicke in die Dynamik der Interaktion von JavaScript mit Webseite-Elementen und Metadaten erhalten.

Erstellen eines HTML-Dokuments mit einer grundlegenden Struktur

In diesem Schritt lernen Sie, wie Sie ein grundlegendes HTML-Dokument erstellen, das als Grundlage für die Exploration von DOM-Eigenschaften in JavaScript dienen wird. Wir werden die WebIDE verwenden, um eine HTML-Datei mit einer einfachen Struktur zu erstellen, die essentielle Elemente enthält.

Navigieren Sie zunächst zum Verzeichnis ~/project in der WebIDE. Erstellen Sie eine neue Datei namens index.html, indem Sie im Dateiexplorer mit der rechten Maustaste klicken und "Neue Datei" auswählen.

Kopieren Sie den folgenden HTML-Code und fügen Sie ihn in die Datei index.html ein:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>DOM Properties Exploration</title>
  </head>
  <body>
    <h1>Willkommen im DOM-Eigenschaften-Lab</h1>
    <p>
      Diese Seite wird uns helfen, JavaScript DOM-Eigenschaften zu erkunden.
    </p>
    <img src="https://example.com/sample-image.jpg" alt="Sample Image" />
    <img src="https://example.com/another-image.jpg" alt="Another Image" />
  </body>
</html>

Zergliedern wir die wichtigsten Komponenten dieses HTML-Dokuments:

  • <!DOCTYPE html> deklariert dies als ein HTML5-Dokument
  • <html lang="en"> setzt die Sprache des Dokuments
  • <head> enthält Metadaten über das Dokument
  • <title> setzt den Seitentitel, den wir in späteren Schritten verwenden werden
  • <body> enthält den sichtbaren Inhalt der Seite
  • Wir haben zwei <img>-Tags hinzugefügt, um in späteren Schritten DOM-Eigenschaften im Zusammenhang mit Bildern zu demonstrieren

Beispielausgabe, wenn Sie diese Datei in einem Browser öffnen:

[Eine Webseite mit dem Titel "DOM Properties Exploration",
 die "Willkommen im DOM-Eigenschaften-Lab"
 und "Diese Seite wird uns helfen, JavaScript DOM-Eigenschaften zu erkunden." anzeigt.]

Diese einfache HTML-Struktur bietet den idealen Ausgangspunkt für unser DOM-Eigenschaften-Explorationslab.

Zugriff auf die Dokumenttitel-Eigenschaft

In diesem Schritt lernen Sie, wie Sie die Dokumenttitel-Eigenschaft mithilfe von JavaScript zugreifen. Wir bauen auf der im vorherigen Schritt erstellten HTML-Datei auf und demonstrieren, wie Sie den Titel des Dokuments abrufen und manipulieren.

Erstellen Sie in der WebIDE in das Verzeichnis ~/project eine neue Datei namens script.js. Fügen Sie den folgenden JavaScript-Code hinzu:

// Zugriff auf den Dokumenttitel
console.log("Dokumenttitel:", document.title);

// Ändern des Dokumenttitels
function changeTitle() {
  document.title = "Aktualisiertes DOM-Eigenschaften-Lab";
  console.log("Neuer Dokumenttitel:", document.title);
}

// Hinzufügen eines Buttons, um die Titeländerung zu demonstrieren
const button = document.createElement("button");
button.textContent = "Titel ändern";
button.onclick = changeTitle;
document.body.appendChild(button);

Aktualisieren Sie nun die Datei index.html, um die JavaScript-Datei hinzuzufügen:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>DOM Properties Exploration</title>
  </head>
  <body>
    <h1>Willkommen im DOM-Eigenschaften-Lab</h1>
    <p>
      Diese Seite wird uns helfen, JavaScript DOM-Eigenschaften zu erkunden.
    </p>
    <img src="https://example.com/sample-image.jpg" alt="Sample Image" />
    <img src="https://example.com/another-image.jpg" alt="Another Image" />

    <script src="script.js"></script>
  </body>
</html>

Wenn Sie diese HTML-Datei in einem Browser öffnen, werden Sie die folgenden Verhaltensweisen beobachten:

Beispielausgabe in der Browserkonsole:

Dokumenttitel: DOM Properties Exploration

Wenn Sie auf den Button "Titel ändern" klicken:

Neuer Dokumenttitel: Aktualisiertes DOM-Eigenschaften-Lab

Demonstrierte Schlüsselkonzepte:

  • Die document.title-Eigenschaft ruft den aktuellen Seitentitel ab
  • Sie können den Dokumenttitel dynamisch mithilfe von JavaScript ändern
  • Der Titel erscheint in der Browserregisterkarte und kann zur Laufzeit geändert werden

In diesem Schritt lernen Sie, wie Sie die URL des Dokuments zugreifen und Informationen zu Links mithilfe von JavaScript DOM-Eigenschaften abrufen. Wir werden die Datei script.js aktualisieren, um diese Funktionen zu demonstrieren.

Öffnen Sie die Datei script.js in der WebIDE und fügen Sie den folgenden Code hinzu:

// Abrufen und Anzeigen der aktuellen Dokument-URL
console.log("Aktuelle Dokument-URL:", document.URL);

// Anzahl der Links auf der Seite abrufen
const linkCount = document.links.length;
console.log("Gesamtzahl der Links:", linkCount);

// Informationen zu allen Links anzeigen
function displayLinkInfo() {
  const links = document.links;
  console.log("Link-Informationen:");
  for (let i = 0; i < links.length; i++) {
    console.log(`Link ${i + 1}:`);
    console.log(`  Href: ${links[i].href}`);
    console.log(`  Text: ${links[i].text}`);
  }
}

// Button hinzufügen, um Link-Informationen anzuzeigen
const linkButton = document.createElement("button");
linkButton.textContent = "Linkdetails anzeigen";
linkButton.onclick = displayLinkInfo;
document.body.appendChild(linkButton);

Aktualisieren Sie die Datei index.html, um einige zusätzliche Links hinzuzufügen:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>DOM Properties Exploration</title>
  </head>
  <body>
    <h1>Willkommen im DOM-Eigenschaften-Lab</h1>
    <p>
      Diese Seite wird uns helfen, JavaScript DOM-Eigenschaften zu erkunden.
    </p>

    <div>
      <a href="https://example.com">Beispiel-Website</a>
      <a href="https://labex.io">LabEx Lernplattform</a>
    </div>

    <img src="https://example.com/sample-image.jpg" alt="Sample Image" />
    <img src="https://example.com/another-image.jpg" alt="Another Image" />

    <script src="script.js"></script>
  </body>
</html>

Beispielausgabe in der Browserkonsole:

Aktuelle Dokument-URL: file:///home/labex/project/index.html
Gesamtzahl der Links: 2

Link-Informationen:
Link 1:
  Href: https://example.com
  Text: Beispiel-Website
Link 2:
  Href: https://labex.io
  Text: LabEx Lernplattform

Demonstrierte Schlüsselkonzepte:

  • document.URL ruft die vollständige URL des aktuellen Dokuments ab
  • document.links liefert eine Sammlung aller Links auf der Seite
  • Sie können durch die Links iterieren und auf ihre Eigenschaften wie href und text zugreifen

Zählen und Anzeigen von Bildern auf der Seite

In diesem Schritt lernen Sie, wie Sie die Anzahl von Bildern auf einer Webseite zählen und Informationen zu diesen Bildern mithilfe von JavaScript DOM-Eigenschaften anzeigen. Wir werden die Datei script.js aktualisieren, um die Funktionalität im Zusammenhang mit Bildern zu erkunden.

Öffnen Sie die Datei script.js in der WebIDE und fügen Sie den folgenden Code hinzu:

// Anzahl der Bilder auf der Seite zählen
const imageCount = document.images.length;
console.log("Gesamtzahl der Bilder:", imageCount);

// Funktion, um Bilddetails anzuzeigen
function displayImageInfo() {
  const images = document.images;
  console.log("Bildinformationen:");
  for (let i = 0; i < images.length; i++) {
    console.log(`Bild ${i + 1}:`);
    console.log(`  Quelle: ${images[i].src}`);
    console.log(`  Alternativer Text: ${images[i].alt}`);
  }
}

// Button erstellen, um Bilddetails anzuzeigen
const imageButton = document.createElement("button");
imageButton.textContent = "Bilddetails anzeigen";
imageButton.onclick = displayImageInfo;
document.body.appendChild(imageButton);

// Ein einfaches Anzeigebereich für Bildinformationen hinzufügen
const infoDiv = document.createElement("div");
infoDiv.id = "image-info";
document.body.appendChild(infoDiv);

// Die Anzahl der Bilder im Div aktualisieren
infoDiv.textContent = `Anzahl der Bilder: ${imageCount}`;

Aktualisieren Sie die Datei index.html, um mehr Bilder mit unterschiedlichen Attributen hinzuzufügen:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>DOM Properties Exploration</title>
  </head>
  <body>
    <h1>Willkommen im DOM-Eigenschaften-Lab</h1>
    <p>
      Diese Seite wird uns helfen, JavaScript DOM-Eigenschaften zu erkunden.
    </p>

    <div>
      <a href="https://example.com">Beispiel-Website</a>
      <a href="https://labex.io">LabEx Lernplattform</a>
    </div>

    <div id="image-container">
      <img src="https://example.com/sample-image.jpg" alt="Sample Image" />
      <img src="https://example.com/another-image.jpg" alt="Another Image" />
      <img src="https://example.com/third-image.png" alt="Third Image" />
    </div>

    <script src="script.js"></script>
  </body>
</html>

Beispielausgabe in der Browserkonsole:

Gesamtzahl der Bilder: 3
Bildinformationen:
Bild 1:
  Quelle: https://example.com/sample-image.jpg
  Alternativer Text: Sample Image
Bild 2:
  Quelle: https://example.com/another-image.jpg
  Alternativer Text: Another Image
Bild 3:
  Quelle: https://example.com/third-image.png
  Alternativer Text: Third Image

Demonstrierte Schlüsselkonzepte:

  • document.images liefert eine Sammlung aller Bilder auf der Seite
  • Sie können auf die Eigenschaften von Bildern wie src und alt zugreifen
  • Dynamische Erstellung und Manipulation von Seitelementen mit JavaScript

In diesem Schritt werden Sie die Document Body- und Cookie-Eigenschaften in JavaScript erkunden und lernen, wie Sie den Seiteninhalt manipulieren und mit Browser-Cookies arbeiten.

Öffnen Sie die Datei script.js in der WebIDE und fügen Sie den folgenden Code hinzu:

// Demonstrieren der Manipulation des Document Body
function modifyBodyContent() {
  // Zugriff auf und Modifikation des Document Body
  const body = document.body;
  console.log("Ursprünglicher Body Inner HTML:", body.innerHTML);

  // Erstellen eines neuen Paragraph-Elements
  const newParagraph = document.createElement("p");
  newParagraph.textContent =
    "Dieser Absatz wurde dynamisch zum Body hinzugefügt!";
  body.appendChild(newParagraph);

  console.log("Aktualisierter Body Inner HTML:", body.innerHTML);
}

// Demonstrieren von Cookie-Eigenschaften
function manageCookies() {
  // Setzen eines neuen Cookies
  document.cookie =
    "labExperience=JavaScript DOM; expires=Fri, 31 Dec 2023 23:59:59 GMT; path=/";

  // Anzeigen aller Cookies
  console.log("Aktuelle Cookies:", document.cookie);

  // Erstellen eines Buttons, um die Cookies anzuzeigen
  const cookieButton = document.createElement("button");
  cookieButton.textContent = "Cookies anzeigen";
  cookieButton.onclick = () => {
    alert(`Cookies: ${document.cookie}`);
  };
  document.body.appendChild(cookieButton);
}

// Erstellen von Buttons, um die Demonstrationen auszulösen
const bodyButton = document.createElement("button");
bodyButton.textContent = "Body Inhalt modifizieren";
bodyButton.onclick = modifyBodyContent;
document.body.appendChild(bodyButton);

const cookieButton = document.createElement("button");
cookieButton.textContent = "Cookies verwalten";
cookieButton.onclick = manageCookies;
document.body.appendChild(cookieButton);

Aktualisieren Sie die Datei index.html, um die Kompatibilität sicherzustellen:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>DOM Properties Exploration</title>
  </head>
  <body>
    <h1>Willkommen im DOM-Eigenschaften-Lab</h1>
    <p>
      Diese Seite wird uns helfen, JavaScript DOM-Eigenschaften zu erkunden.
    </p>

    <div>
      <a href="https://example.com">Beispiel-Website</a>
      <a href="https://labex.io">LabEx Lernplattform</a>
    </div>

    <div id="image-container">
      <img src="https://example.com/sample-image.jpg" alt="Sample Image" />
      <img src="https://example.com/another-image.jpg" alt="Another Image" />
      <img src="https://example.com/third-image.png" alt="Third Image" />
    </div>

    <script src="script.js"></script>
  </body>
</html>

Beispielausgabe in der Browserkonsole:

// Nachdem auf "Body Inhalt modifizieren" geklickt wurde
Ursprünglicher Body Inner HTML: [anfänglicher HTML-Inhalt]
Aktualisierter Body Inner HTML: [HTML-Inhalt mit neuem Absatz hinzugefügt]

// Nachdem auf "Cookies verwalten" geklickt wurde
Aktuelle Cookies: labExperience=JavaScript DOM

Demonstrierte Schlüsselkonzepte:

  • Zugriff auf und Modifikation von document.body
  • Dynamisches Erstellen und Anhängen neuer Elemente
  • Setzen und Lesen von Browser-Cookies
  • Interaktion mit Dokumenteneigenschaften mithilfe von JavaScript

Zusammenfassung

In diesem Lab lernen die Teilnehmer, wie sie die Eigenschaften des Document Object Models (DOM) mit JavaScript erkunden, indem sie einen strukturierten HTML-Dokument erstellen und verschiedene Techniken zum Zugriff auf die Eigenschaften implementieren. Das Lab beginnt mit dem Aufbau einer grundlegenden HTML-Datei, die essentielle Elemente wie Titel, Body und Bilder enthält und als Grundlage zum Verständnis der DOM-Interaktionen dient.

Die praktische Übung führt die Lernenden durch den Zugriff auf verschiedene Dokumenteigenschaften wie Titel, URL, Links und Bildzählung und demonstriert, wie JavaScript dynamisch die Metadaten der Webseite abrufen und manipulieren kann. Indem sie diese Schritte absolvieren, gewinnen die Teilnehmer praktische Erfahrungen beim Untersuchen und Interagieren mit den grundlegenden DOM-Eigenschaften und vertiefen ihr Verständnis der Client-seitentwicklungstechniken.