JavaScript Document-Objekt erklärt: DOM-Eigenschaften, Methoden und praktische Beispiele

目次

1. Einführung

JavaScript ist eine unverzichtbare Programmiersprache für die Webentwicklung. Zu seinen Kernfunktionen gehört das Document‑Objekt, das eine zentrale Rolle bei der Steuerung und Manipulation der Struktur und des Inhalts einer Webseite spielt. In diesem Artikel lernen Sie das JavaScript‑Document‑Objekt so kennen, dass Anfänger bis Fortgeschrittene es verstehen können.

Wofür wird JavaScript verwendet?

JavaScript ist eine Programmiersprache, die zusammen mit HTML und CSS eingesetzt wird, hauptsächlich um dynamische Verhaltensweisen und Benutzerinteraktionen auf Webseiten zu erzeugen. Beispiele sind die Validierung von Formulareingaben, das Anzeigen von Popup‑Menüs und das Hinzufügen von Animationseffekten.

Insbesondere stellt das Document‑Objekt Funktionen zum Zugriff auf und zur Bearbeitung von Elementen einer Webseite mittels JavaScript bereit. Mit diesem Objekt können Sie HTML‑Elemente auswählen, neue Elemente hinzufügen, Ereignisse festlegen und viele weitere Vorgänge ausführen.

Warum sollten Sie das Document‑Objekt lernen?

Das Document‑Objekt ist Teil des DOM (Document Object Model). Das DOM ist ein Modell, das die Struktur eines HTML‑ bzw. XML‑Dokuments so darstellt, dass sie programmgesteuert manipuliert werden kann, und es ist im Wesentlichen Grundwissen für die Webentwicklung.

Wenn Sie dieses Modell verstehen und lernen, das Document‑Objekt effektiv zu nutzen, können Sie unter anderem folgende Situationen bewältigen:

  • Dynamische Aktualisierungen der Benutzeroberfläche
  • Echtzeit‑Formularvalidierung
  • Asynchrones Laden und Rendern von Daten (AJAX oder Fetch‑API)
  • Implementierung von Modalfenstern und Popup‑Menüs

Was Sie in diesem Artikel lernen werden

Dieser Artikel erklärt alles von den Grundlagen bis zu fortgeschrittener Nutzung des Document‑Objekts in einer strukturierten Weise und verwendet praktische Code‑Beispiele, um die Funktionsweise zu zeigen. Nach dem Lesen können Sie Folgendes verstehen:

  • Die Grundstruktur und Funktionalität des Document‑Objekts
  • Wie man HTML‑Elemente auswählt und manipuliert
  • Wie man Event‑Listener einrichtet und praktische Anwendungsbeispiele nutzt
  • Wichtige Vorsichtsmaßnahmen und bewährte Vorgehensweisen

Anfänger können die Grundlagen fest verinnerlichen, während Fortgeschrittene Hinweise erhalten, um effizienteren Code zu schreiben.

2. Was ist das JavaScript‑document‑Objekt?

In JavaScript ist das document‑Objekt eines der wichtigsten Schnittstellen für die Arbeit mit Webseiten. Es wird als Teil des DOM (Document Object Model) bereitgestellt und ermöglicht es Ihnen, Elemente innerhalb einer Webseite einfach zu manipulieren und zu verändern.

Die Rolle des document‑Objekts

Das document‑Objekt repräsentiert das gesamte HTML‑Dokument, das vom Browser geladen wurde. Dadurch können Sie die HTML‑Struktur, Styles und Inhalte programmgesteuert mit JavaScript steuern.

Beispielsweise können Sie Folgendes tun:

  • HTML‑Elemente auswählen und bearbeiten
  • Neue Elemente erstellen und anhängen
  • Die Hintergrundfarbe der Seite oder den Textinhalt ändern
  • Benutzeraktionen erkennen, indem Sie Event‑Listener setzen

Beziehung zwischen dem DOM und dem document‑Objekt

Das DOM (Document Object Model) stellt ein HTML‑ bzw. XML‑Dokument als Baumstruktur dar. An der Spitze dieses Baumes steht das document‑Objekt.

Das folgende Diagramm zeigt eine einfache Ansicht der Beziehung zwischen dem DOM und dem document‑Objekt.

document
├── html
│   ├── head
│   │   └── title
│   └── body
│       ├── div
│       ├── p
│       └── button

Auf diese Weise repräsentiert das document‑Objekt die gesamte Seite als Baum und dient als Ausgangspunkt für den Zugriff auf jedes einzelne Element.

Grundlegende Verwendung des document‑Objekts

Werfen wir einen Blick auf einige einfache Beispiele für die Nutzung des document‑Objekts.

Beispiel 1: Den Seitentitel abrufen

console.log(document.title); // Get the page title

Beispiel 2: Die Hintergrundfarbe ändern

document.body.style.backgroundColor = "lightblue";

Beispiel 3: Ein Element auswählen und bearbeiten

let heading = document.getElementById("main-title");
heading.textContent = "New Title";

Durch die Kombination dieser Vorgänge können Sie interaktive und dynamische Webseiten erstellen.

Hauptmerkmale des document-Objekts

  1. Echtzeit-Updates – Änderungen am Dokument werden sofort übernommen.
  2. Zugriff auf eine hierarchische Struktur – Sie können Elemente flexibel auswählen und ändern, indem Sie den DOM‑Baum durchlaufen.
  3. Ereignisverwaltung – Sie können Ereignis‑Listener basierend auf Benutzeraktionen hinzufügen.

3. Wichtige Eigenschaften und Methoden des document-Objekts

Das JavaScript-document-Objekt bietet zahlreiche Eigenschaften und Methoden, die eine Vielzahl von Webseitenvorgängen unterstützen. In diesem Abschnitt stellen wir häufig verwendete Eigenschaften und Methoden vor.

1. Häufig verwendete Eigenschaften

Nachfolgend finden Sie häufig verwendete Eigenschaften des document-Objekts und deren Verwendungszwecke.

PropertyDescriptionExample
document.titleGets or sets the current page title.console.log(document.title);
document.URLGets the URL of the current page.console.log(document.URL);
document.bodyGets the page’s <body> element.document.body.style.backgroundColor = "yellow";
document.headGets the page’s <head> element.console.log(document.head.innerHTML);
document.formsGets all form elements on the page.console.log(document.forms[0]);
document.imagesGets all image elements on the page.console.log(document.images);
document.linksGets all link elements on the page.console.log(document.links);
document.cookieGets or sets cookie information for the page.console.log(document.cookie);
document.documentElementGets the <html> element representing the entire page.console.log(document.documentElement);

Diese Eigenschaften helfen Ihnen, Informationen über eine Webseite einfach abzurufen und zu aktualisieren.

2. Häufig verwendete Methoden

Im Folgenden finden Sie Methoden, die zum Manipulieren von Elementen und Hinzufügen neuer Elemente verwendet werden.

MethodDescriptionExample
getElementById(id)Selects an element with the specified ID attribute.let element = document.getElementById("header");
getElementsByClassName(class)Selects all elements with the specified class name (returned as an HTMLCollection).let items = document.getElementsByClassName("item");
getElementsByTagName(tag)Selects all elements with the specified tag name.let paragraphs = document.getElementsByTagName("p");
querySelector(selector)Selects the first element that matches the CSS selector.let firstDiv = document.querySelector("div.container");
querySelectorAll(selector)Selects all elements that match the CSS selector (returned as a NodeList).let allDivs = document.querySelectorAll("div.container");
createElement(tag)Creates a new HTML element.let newDiv = document.createElement("div");
appendChild(node)Adds a new child node to the specified element.document.body.appendChild(newDiv);
removeChild(node)Removes the specified child node.document.body.removeChild(newDiv);
write(content)Writes HTML or text directly into the document (deprecated).document.write("<h1>Hello World!</h1>");
addEventListener(event, func)Adds an event listener to an element for a specified event.document.addEventListener("click", () => { alert("Clicked!"); });

3. Beispiele, die Eigenschaften und Methoden kombinieren

Betrachten wir reale Anwendungsbeispiele.

Beispiel 1: Einen Formularwert abrufen

let form = document.forms[0];
let input = form.elements["username"];
console.log(input.value);

Beispiel 2: Ein neues Element erstellen und anhängen

let newParagraph = document.createElement("p");
newParagraph.textContent = "This is a new paragraph.";
document.body.appendChild(newParagraph);

Beispiel 3: Ein Klick‑Ereignis hinzufügen

document.getElementById("myButton").addEventListener("click", () => {
    alert("The button was clicked!");
});

4. Zusammenfassung

Das document-Objekt bietet einen umfangreichen Satz an Eigenschaften und Methoden, die für die Manipulation von Webseiten nützlich sind. Wenn Sie sie beherrschen, können Sie interaktivere und funktionalere Webseiten erstellen.

4. Auswahl und Manipulation von HTML-Elementen (mit Code‑Beispielen)

Durch die Verwendung des JavaScript-document-Objekts können Sie HTML-Elemente einfach auswählen, deren Inhalt bearbeiten und ihre Attribute ändern. In diesem Abschnitt erklären wir gängige Auswahl‑ und Manipulationstechniken im Detail mit Code‑Beispielen.

1. Wie man HTML-Elemente auswählt

1-1. Auswahl per ID – getElementById()

Wählen Sie Elemente anhand des ID-Attributs aus, das einem HTML-Element zugewiesen ist.

Beispiel: Den Text eines Elements ändern
HTML:

<h1 id="title">Original Title</h1>

JavaScript:

let title = document.getElementById("title");
title.textContent = "New Title"; // Change the text

Wichtiger Hinweis

  • Eine ID muss eindeutig sein. Sie können nicht dieselbe ID mehreren Elementen zuweisen.

1-2. Auswahl per Klassenname – getElementsByClassName()

Wählen Sie mehrere Elemente aus, die denselben Klassennamen teilen.

Beispiel: Die Hintergrundfarbe ändern
HTML:

<div class="box">Box 1</div>
<div class="box">Box 2</div>

JavaScript:

let boxes = document.getElementsByClassName("box");
for (let i = 0; i < boxes.length; i++) {
    boxes[i].style.backgroundColor = "lightblue";
}

Wichtiger Hinweis

  • Sie iterieren über die Elemente wie über ein Array und manipulieren sie einzeln.

1-3. Auswahl per Tag‑Name – getElementsByTagName()

Wählen Sie alle Elemente mit dem angegebenen Tag‑Namen aus.

Beispiel: Die Farbe aller Absätze ändern
HTML:

<p>Paragraph 1</p>
<p>Paragraph 2</p>

JavaScript:

let paragraphs = document.getElementsByTagName("p");
for (let p of paragraphs) {
    p.style.color = "green";
}

1-4. Auswahl mit CSS‑Selektoren – querySelector() und querySelectorAll()

Mit CSS‑Selektoren können Sie Elemente flexibler auswählen.

Ein einzelnes Element auswählen – querySelector()

let firstDiv = document.querySelector("div.box");
firstDiv.textContent = "Selected box";

Mehrere Elemente auswählen – querySelectorAll()

let allDivs = document.querySelectorAll("div.box");
allDivs.forEach(div => div.style.border = "1px solid red");

2. Wie man HTML-Elemente manipuliert

2-1. Text oder HTML bearbeiten

Beispiel: Unterschied zwischen innerHTML und textContent
HTML:

<div id="content">Original text</div>

JavaScript:

let content = document.getElementById("content");

// Change text only
content.textContent = "<b>New text</b>"; // Displayed as plain text

// Change including HTML
content.innerHTML = "<b>New text</b>"; // Displayed in bold

Wichtige Punkte

  • textContent behandelt Tags als einfachen String und interpretiert sie nicht als HTML.
  • innerHTML wendet HTML direkt an, aber Sie müssen auf Sicherheit achten (XSS-Prävention).

2-2. Bearbeiten von Attributen

Beispiel: Ändern eines Links
HTML:

<a id="link" href="https://example.com">Original link</a>

JavaScript:

let link = document.getElementById("link");
link.setAttribute("href", "https://google.com"); // Change the URL
link.textContent = "Link to Google";             // Change the label

2-3. Erstellen und Anhängen neuer Elemente

Beispiel: Hinzufügen eines neuen Listenelements
HTML:

<ul id="list">
  <li>Item 1</li>
</ul>

JavaScript:

let list = document.getElementById("list");
let newItem = document.createElement("li");
newItem.textContent = "Item 2"; // Create a new item
list.appendChild(newItem);      // Append to the end of the list

2-4. Entfernen von Elementen

Beispiel: Entfernen eines Elements beim Klicken auf einen Button
HTML:

<div id="box">Element to be removed</div>
<button id="deleteBtn">Remove</button>

JavaScript:

let box = document.getElementById("box");
let deleteBtn = document.getElementById("deleteBtn");

deleteBtn.addEventListener("click", () => {
    box.remove(); // Remove the element
});

3. Zusammenfassung

In diesem Abschnitt haben Sie gelernt, wie Sie HTML-Elemente mit dem document-Objekt auswählen und manipulieren, anhand praktischer Beispiele. Das Beherrschen dieser Techniken erleichtert die dynamische Steuerung von Webseiten erheblich.

5. Schritte zum Erstellen und Anhängen neuer Elemente (mit Diagrammen)

Mit dem document-Objekt von JavaScript können Sie dynamisch neue HTML-Elemente erstellen und sie an eine bestehende Seite anhängen. In diesem Abschnitt erklären wir die spezifischen Schritte zum Erstellen und Anhängen von Elementen mit Code-Beispielen und Diagrammen.

1. So erstellen Sie neue Elemente

1-1. Element erstellen – createElement()

Erstellen Sie ein neues HTML-Element mit der Methode document.createElement().

Beispiel: Erstellen eines neuen Absatzelements

let newParagraph = document.createElement("p"); // Create a new <p> element
newParagraph.textContent = "This paragraph was added dynamically."; // Set the text

Wichtige Punkte

  • Das erstellte Element ist noch nicht dem DOM hinzugefügt.
  • Sie können Text und Attribute frei festlegen.

2. Attribute und Stile für ein Element festlegen

2-1. Attribute festlegen – setAttribute()

Um Attribute für ein erstelltes Element festzulegen, verwenden Sie die Methode setAttribute().

Beispiel: Attribute zu einem Link-Element hinzufügen

let link = document.createElement("a");
link.textContent = "Google";
link.setAttribute("href", "https://google.com"); // Set the URL
link.setAttribute("target", "_blank");           // Open in a new tab

2-2. Stile festlegen – die style-Eigenschaft

Wenn Sie das Design direkt festlegen möchten, verwenden Sie die style-Eigenschaft.

Beispiel: Einen Button stylen

let button = document.createElement("button");
button.textContent = "Click";
button.style.backgroundColor = "blue"; // Background color
button.style.color = "white";          // Text color
button.style.padding = "10px 20px";    // Padding

3. Das Element zur Seite anhängen

Sie können erstellte Elemente dem DOM mit appendChild() oder insertBefore() anhängen.

3-1. Am Ende anhängen – appendChild()

Beispiel: Ein Listenelement anhängen
HTML:

<ul id="list">
  <li>Item 1</li>
</ul>

JavaScript:

let list = document.getElementById("list");
let newItem = document.createElement("li");
newItem.textContent = "Item 2"; // Create a new item
list.appendChild(newItem);      // Append to the end of the list

3-2. Anfügen an einer spezifischen Position – insertBefore()

Beispiel: Ein Element an einer angegebenen Position einfügen

let referenceItem = list.firstElementChild; // Use the first item as a reference
list.insertBefore(newItem, referenceItem);  // Insert before the first item

4. Elemente entfernen

Sie können erstellte Elemente mit removeChild() oder remove() entfernen.

4-1. Ein Kind-Element entfernen – removeChild()

let itemToRemove = list.lastElementChild; // Get the last item
list.removeChild(itemToRemove);           // Remove it

4-2. Das Element selbst entfernen – remove()

newItem.remove(); // Remove itself

5. Praktisches Beispiel: Dynamisches Erstellen eines Karten-Elements

Im Folgenden finden Sie ein Beispiel, das ein neues „Karten“-Element dynamisch erstellt, Stile setzt und es zur Seite hinzufügt.

HTML:

<div id="container"></div>

JavaScript:

let container = document.getElementById("container");

// Create the card element
let card = document.createElement("div");
card.classList.add("card"); // Add a class

// Create the card title
let title = document.createElement("h2");
title.textContent = "Card Title";

// Create the card body text
let description = document.createElement("p");
description.textContent = "This is the description text for the card.";

// Assemble and append
card.appendChild(title);
card.appendChild(description);
container.appendChild(card); // Append to the page

// Styling
card.style.border = "1px solid #ccc";
card.style.padding = "10px";
card.style.margin = "10px";
card.style.width = "200px";
card.style.boxShadow = "0 4px 6px rgba(0, 0, 0, 0.1)";

Ergebnis:

Card Title
This is the description text for the card.

6. Zusammenfassung

In diesem Abschnitt haben Sie den vollständigen Workflow vom Erstellen neuer Elemente über das Setzen von Attributen und Stilen bis hin zum Anhängen an die Seite kennengelernt. Durch die Anwendung dieser Techniken wird die Generierung dynamischer Web-Inhalte viel einfacher.

6. So richten Sie Event-Listener ein (Praktische Beispiele)

In JavaScript können Sie das document-Objekt verwenden, um Event-Listener einzurichten und dynamische Verarbeitung als Reaktion auf Benutzeraktionen auszuführen. In diesem Abschnitt erklären wir alles von den Grundlagen der Event-Listener bis hin zu praktischen Anwendungsbeispielen.

1. Was ist ein Event-Listener?

Ein Event-Listener ist ein Mechanismus, der Benutzeraktionen (wie Klicks, Eingaben oder Mausbewegungen) erkennt und eine entsprechende Operation ausführt.

Beispiel: Basis-Klick-Event

document.getElementById("myButton").addEventListener("click", () => {
    alert("The button was clicked!");
});

2. So fügen Sie Event-Listener hinzu

2-1. Grundlegende Verwendung von addEventListener()

Die Methode addEventListener() verwendet die folgende Syntax:

element.addEventListener(event, function, useCapture);

Parameterbeschreibung

  1. event – Der Ereignistyp (z. B.: click , mouseover , keydown ).
  2. function – Die auszuführende Funktion (anonym oder benannt).
  3. useCapture – Ereignisausbreitungsverfahren ( true für Capture, false für Bubbling).

Beispiel: Ein Mouseover-Event hinzufügen

let box = document.getElementById("box");
box.addEventListener("mouseover", () => {
    box.style.backgroundColor = "lightblue";
});

3. Häufig verwendete Ereignistypen

Im Folgenden finden Sie häufig verwendete Ereignistypen und Beispiele.

EventDescriptionExample
clickWhen an element is clickedButton click handling
dblclickWhen an element is double-clickedSelecting text
mouseoverWhen the mouse pointer enters an elementStart hover animation
mouseoutWhen the mouse pointer leaves an elementEnd hover animation
keydownWhen a key is pressedDetect keyboard input
keyupWhen a key is releasedValidate input after typing
submitWhen a form is submittedValidate form data
focusWhen an element receives focusAuto-assist input fields
blurWhen an element loses focusInput error checking

4. Praktische Event-Listener-Beispiele

4-1. Text durch Klicken auf einen Button ändern

HTML:

<button id="changeText">Change</button>
<p id="text">Original text</p>

JavaScript:

let button = document.getElementById("changeText");
let text = document.getElementById("text");

button.addEventListener("click", () => {
    text.textContent = "Neuer Text";
});

4-2. Real-time input detection

HTML:

<input type="text" id="nameInput" placeholder="Geben Sie Ihren Namen ein">
<p id="output"></p>

JavaScript:

let input = document.getElementById("nameInput");
let output = document.getElementById("output");

input.addEventListener("input", () => {
    output.textContent = "Eingabe: " + input.value;
});

4-3. Change background color on hover

HTML:

<div id="hoverBox" style="width: 100px; height: 100px; background-color: lightgray;"></div>

JavaScript:

let hoverBox = document.getElementById("hoverBox");

hoverBox.addEventListener("mouseover", () => {
    hoverBox.style.backgroundColor = "yellow";
});

hoverBox.addEventListener("mouseout", () => {
    hoverBox.style.backgroundColor = "lightgray";
});

5. How to remove event listeners

You can remove an event listener using the removeEventListener() method.

Example: Remove a click event

function handleClick() {
    alert("Geklickt!");
}

let button = document.getElementById("myButton");
button.addEventListener("click", handleClick);

// Entferne den Event-Listener
button.removeEventListener("click", handleClick);

Important note

  • To remove an event listener, you must reference the same function. Anonymous functions cannot be removed.

6. Summary

In this section, you learned how to set up event listeners, common event types, and practical usage examples. Mastering event handling is essential for creating interactive web applications.

7. Common Practical Use Cases and Applied Scenarios

The JavaScript document object can be applied in many real-world scenarios. In this section, we introduce common use cases and applied scenarios frequently seen in actual development.

1. Dynamic form validation

Form input validation is important for improving user experience. Below is an example that checks input in real time.

HTML

<form id="signupForm">
  <label for="email">E-Mail:</label>
  <input type="email" id="email" required>
  <span id="emailError" style="color: red;"></span>
  <br>
  <button type="submit">Absenden</button>
</form>

JavaScript

let emailInput = document.getElementById("email");
let emailError = document.getElementById("emailError");
let form = document.getElementById("signupForm");

// Eingabevalidierung
emailInput.addEventListener("input", () => {
    let emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
    if (!emailPattern.test(emailInput.value)) {
        emailError.textContent = "Bitte geben Sie eine gültige E-Mail-Adresse ein.";
    } else {
        emailError.textContent = "";
    }
});

// Überprüfung bei Formularabsendung
form.addEventListener("submit", (event) => {
    if (emailError.textContent !== "") {
        event.preventDefault();
        alert("Es gibt einen Fehler in Ihrer Eingabe.");
    }
});

2. Dynamic content generation

This example dynamically generates new elements based on user actions.

HTML

<div id="container"></div>
<button id="addItem">Element hinzufügen</button>

JavaScript

let container = document.getElementById("container");
let addButton = document.getElementById("addItem");

addButton.addEventListener("click", () => {
    let newItem = document.createElement("div");
    newItem.textContent = "Neues Element";
    newItem.style.border = "1px solid #ccc";
    newItem.style.padding = "10px";
    newItem.style.margin = "5px 0";
    container.appendChild(newItem);
});

Result: A new item is added each time the button is clicked.

8. Cautions and Best Practices

The JavaScript document object is very powerful, but improper usage can negatively impact performance and security. In this section, we introduce important cautions and best practices to keep your code safe and efficient.

1. Performance optimization

1-1. DOM-Operationen minimieren

DOM-Operationen sind kostenintensiv, daher sollten Sie die Anzahl ihrer Ausführungen reduzieren.

Schlechtes Beispiel (wiederholte DOM-Operationen innerhalb einer Schleife)

for (let i = 0; i < 100; i++) {
    let div = document.createElement("div");
    div.textContent = "Item " + i;
    document.body.appendChild(div);
}

Verbessertes Beispiel (unter Verwendung eines Document Fragments)

let fragment = document.createDocumentFragment();
for (let i = 0; i < 100; i++) {
    let div = document.createElement("div");
    div.textContent = "Item " + i;
    fragment.appendChild(div);
}
document.body.appendChild(fragment);

Schlüsselpunkt

  • Fragmente können in einem einzigen Vorgang an das DOM angehängt werden, was die Leistung verbessert.

1-2. Reflow und Repaint reduzieren

Häufige Stiländerungen verursachen Reflow und Repaint, was das Rendering verlangsamen kann.

Schlechtes Beispiel

let box = document.getElementById("box");
box.style.width = "100px";
box.style.height = "100px";
box.style.backgroundColor = "red";

Verbessertes Beispiel (Batch‑Updates)

let box = document.getElementById("box");
Object.assign(box.style, {
    width: "100px",
    height: "100px",
    backgroundColor: "red"
});

2. Sicherheitsüberlegungen

2-1. Verhinderung von XSS‑Angriffen

Die Verwendung von innerHTML kann das Einschleusen bösartiger Skripte ermöglichen.

Gefährliches Beispiel

let userInput = "<script>alert('Attack!')</script>";
document.getElementById("output").innerHTML = userInput;

Sicheres Beispiel

let userInput = "<script>alert('Attack!')</script>";
document.getElementById("output").textContent = userInput;

Schlüsselpunkt

  • Immer Benutzereingaben bereinigen, bevor sie angezeigt werden.

2-2. Richtige Verwaltung von Event‑Listenern

Wenn nicht mehr benötigte Event‑Listener nicht entfernt werden, können sie Speicherlecks verursachen.

Schlechtes Beispiel

document.getElementById("button").addEventListener("click", () => {
    alert("Clicked!");
});

Verbessertes Beispiel (Entfernen des Listeners, wenn er nicht mehr benötigt wird)

function handleClick() {
    alert("Clicked!");
}
let button = document.getElementById("button");
button.addEventListener("click", handleClick);
button.removeEventListener("click", handleClick);

3. Lesbarkeit und Wartbarkeit

3-1. Konsistente Namenskonventionen

Verwenden Sie beschreibende Variablen‑ und Funktionsnamen, die ihre Rollen klar anzeigen.

Schlechtes Beispiel

let a = document.getElementById("username");
let b = document.getElementById("password");

Verbessertes Beispiel

let usernameInput = document.getElementById("username");
let passwordInput = document.getElementById("password");

3-2. Erstellung wiederverwendbarer Funktionen

Durch das Refaktorisieren von Code in Funktionen reduzieren Sie Duplikationen und verbessern die Wartbarkeit.

Schlechtes Beispiel

document.getElementById("btn1").addEventListener("click", () => alert("Button 1"));
document.getElementById("btn2").addEventListener("click", () => alert("Button 2"));

Verbessertes Beispiel

function handleClick(message) {
    alert(message);
}

document.getElementById("btn1").addEventListener("click", () => handleClick("Button 1"));
document.getElementById("btn2").addEventListener("click", () => handleClick("Button 2"));

4. Mobile und responsive Überlegungen

Beim Einsatz von JavaScript sollten Sie ein reibungsloses Verhalten auf mobilen Geräten sicherstellen.

Tipps und Gegenmaßnahmen

  1. Alternative zu Klick‑Events – Auf Mobilgeräten touchstart oder touchend in Betracht ziehen.
  2. Viewport‑Einstellungen – Den Viewport korrekt konfigurieren, um unerwünschtes Zoomen zu verhindern.
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    
  1. Kombination mit Media Queries – CSS‑Media‑Queries für responsive Layouts verwenden.

5. Zusammenfassung

Dieser Abschnitt behandelte wichtige Vorsichtsmaßnahmen und bewährte Praktiken für die sichere und effiziente Verwendung des document‑Objekts.

  • Leistungsoptimierung : DOM-Operationen minimieren.
  • Sicherheit : XSS verhindern und Benutzereingaben sicher verarbeiten.
  • Wartbarkeit : Lesbaren und wiederverwendbaren Code schreiben.
  • Mobile Unterstützung : Responsives Design und Touch-Events berücksichtigen.

9. FAQ: Häufige Fragen für Anfänger

Anfänger, die das JavaScript-document-Objekt verwenden, stoßen häufig auf verschiedene Fragen und Probleme. Dieser Abschnitt beantwortet häufige Fragen im Q&A-Format.

Q1. Warum kann ich kein Element mit getElementById() auswählen?

A:
Häufige Gründe sind die folgenden:

  1. Falsche ID
  • Die angegebene ID existiert nicht oder ist falsch geschrieben.
  • Lösung : Prüfen Sie, ob die ID in Ihrem HTML mit der in Ihrem JavaScript übereinstimmt.
  1. Zeitpunkt der Skriptausführung
  • Wenn JavaScript ausgeführt wird, bevor das HTML geladen ist, existiert das Element noch nicht.
  • Lösung : Verwenden Sie das DOMContentLoaded-Ereignis.
    document.addEventListener("DOMContentLoaded", () => {
        let element = document.getElementById("myDiv");
        console.log(element.textContent);
    });
    

Q2. Was ist der Unterschied zwischen innerHTML und textContent?

A:

  • innerHTML : Gibt den gesamten Inhalt einschließlich HTML-Tags zurück oder setzt ihn.
  • textContent : Gibt nur den Textinhalt zurück oder setzt ihn (HTML-Tags werden ignoriert).

Q3. Warum kann ich Elemente, die von querySelectorAll() zurückgegeben werden, nicht ändern?

A:
querySelectorAll() gibt eine statische NodeList zurück, die kein Array ist. Sie müssen darüber iterieren, um Änderungen anzuwenden.

let items = document.querySelectorAll(".item");
items.forEach(item => {
    item.style.color = "blue";
});

Q4. Warum funktioniert addEventListener() nicht?

A:
Mögliche Gründe sind:

  1. Element nicht gefunden
  • Das Ziel-Element wurde nicht korrekt ausgewählt.
  • Lösung : Prüfen Sie in der Konsole, ob das Element existiert.

Q5. Warum wirft removeChild() einen Fehler?

A:
Das zu entfernende Element muss ein Kind des übergeordneten Elements sein.

let list = document.getElementById("list");
let item = document.getElementById("item1");
list.removeChild(item);

6. Zusammenfassung

Dieser FAQ-Abschnitt behandelte häufige Anfängerprobleme. Auf die Elementauswahl, das Timing und die korrekte Methodenverwendung zu achten, hilft Ihnen, viele Probleme zu vermeiden.

10. Fazit und nächste Schritte

In diesem Artikel haben Sie das JavaScript-document-Objekt von den Grundkonzepten bis zu praktischen Anwendungen kennengelernt. Lassen Sie uns die wichtigsten Punkte zusammenfassen und die nächsten Schritte für weiteres Lernen betrachten.

Durch das Beherrschen des document-Objekts erhalten Sie die Grundlage, um dynamische, interaktive und effiziente Webanwendungen zu erstellen. Als nächsten Schritt sollten Sie fortgeschrittene DOM-Manipulation, API-Integration und moderne Frameworks erkunden, um Ihre Fähigkeiten weiter zu verbessern.

広告