JavaScript und HTML
Dieser Artikel erklärt JavaScript und HTML.
YouTube Video
Das window
-Objekt in JavaScript
Das window
-Objekt in JavaScript ist das globale Objekt in einer Browser-Umgebung, das Funktionen und Informationen zur Webseite und zum Browserfenster bietet. Da window
der globale Gültigkeitsbereich des Browsers ist, wird jeder JavaScript-Code, der im Browser ausgeführt wird, Teil des window
-Objekts. Das window
-Objekt spielt eine wichtige Rolle bei der Ausführung von JavaScript in der Browser-Umgebung und bietet viele APIs und Eigenschaften.
Schlüsselfunktionen des window
-Objekts
Eigenschaften
1// Get and display the document's title
2console.log(window.document.title);
3
4// Get and display the current URL
5console.log(window.location.href);
6
7// Go back to the previous page
8window.history.back();
9
10// Display the browser's user agent
11console.log(window.navigator.userAgent);
12
13// Display the width and height of the viewport
14console.log(`Width: ${window.innerWidth}, Height: ${window.innerHeight}`);
window.document
: Greift auf das aktuelle HTML-Dokument zu.window.location
: Verwaltet die aktuelle URL und die Browsenavigation.window.history
: Greift auf die Verlaufinformationen des Browsers zu und ermöglicht die Navigation vorwärts und rückwärts.window.navigator
: Bietet Informationen über den Browser und das Gerät.window.innerWidth
/window.innerHeight
: Ruft die Breite und Höhe des Viewports ab.
Methoden
1// Show an alert
2window.alert('Hello, this is an alert!');
3
4// Show a confirmation dialog
5if (window.confirm('Are you sure you want to proceed?')) {
6 console.log('User clicked OK');
7} else {
8 console.log('User clicked Cancel');
9}
10
11// Show a prompt dialog
12const userInput = window.prompt('Please enter your name:');
13console.log(`Hello, ${userInput}!`);
14
15// Open a new tab
16window.open('https://www.example.com', '_blank');
17
18// Display a message after 3 seconds
19window.setTimeout(() => {
20 console.log('This message appears after 3 seconds!');
21}, 3000);
22
23// Display a message every second
24const intervalId = window.setInterval(() => {
25 console.log('This message appears every second!');
26}, 1000);
27
28// Clear the interval after 5 seconds
29setTimeout(() => {
30 clearInterval(intervalId);
31 console.log('Interval cleared.');
32}, 5000);
window.alert()
: Zeigt ein Warnungsdialogfenster an.window.confirm()
: Zeigt ein Dialogfenster zur Bestätigung an und gibt ein OK- oder Abbrechen-Ergebnis zurück.window.prompt()
: Zeigt ein Eingabedialogfenster an und ruft den eingegebenen Wert ab.window.open()
: Öffnet ein neues Fenster oder einen neuen Tab.window.setTimeout()
/window.setInterval()
: Setzt einen Timer, um eine Funktion nach einer bestimmten Zeit oder in regelmäßigen Abständen auszuführen.
Ereignisverwaltung
1// Display a message when the page is fully loaded
2window.onload = () => {
3 console.log('Page is fully loaded!');
4};
5
6// Display a message when the window is resized
7window.onresize = () => {
8 console.log('Window resized! New size:', window.innerWidth, 'x', window.innerHeight);
9};
10
11// Display a message when the page is being scrolled
12window.onscroll = () => {
13 console.log('Page is being scrolled!');
14};
window.onload
: Ein Ereignis, das ausgeführt wird, wenn die Seite vollständig geladen ist.window.onresize
: Ein Ereignis, das ausgeführt wird, wenn sich die Fenstergröße ändert.window.onscroll
: Ein Ereignis, das ausgelöst wird, wenn der Benutzer die Seite scrollt.
Rolle als globale Variable
1var myVar = 10;
2console.log(window.myVar); // 10
- Das
window
-Objekt enthält globale Variablen und Funktionen. Mit anderen Worten: Deklarierte Variablen und Funktionen werden automatisch Eigenschaften vonwindow
.
DOM-Manipulation in JavaScript
Die JavaScript-DOM-Manipulation (Document Object Model) wird verwendet, um dynamisch mit Elementen auf der Webseite zu interagieren. Das DOM stellt die Struktur eines HTML-Dokuments als Baum dar, der mit JavaScript geändert werden kann, um die Struktur zu bearbeiten und die Anzeige der Seite zu steuern.
Grundlagen des DOM
Das DOM behandelt das HTML einer Webseite als Objekte, wodurch der Zugriff auf Elemente und Attribute sowie deren Änderung möglich wird. Verwenden Sie das document
-Objekt, um auf das HTML-Dokument zuzugreifen.
1<!DOCTYPE html>
2<html>
3 <head>
4 <title>Example of DOM Manipulation</title>
5 </head>
6 <body>
7 <div id="content">Hello, World!</div>
8 <button id="changeText">Change Text</button>
9 </body>
10</html>
Abrufen von DOM-Elementen
JavaScript bietet verschiedene Methoden, um auf Elemente im DOM zuzugreifen.
document.getElementById()
: Ein Element über dasid
-Attribut abrufendocument.getElementsByClassName()
: Elemente über den Klassennamen abrufen (HTMLCollection)document.getElementsByTagName()
: Elemente über den Tag-Namen abrufen (HTMLCollection)document.querySelector()
: Das erste übereinstimmende Element mit einem CSS-Selektor abrufendocument.querySelectorAll()
: Alle übereinstimmenden Elemente mit einem CSS-Selektor abrufen (NodeList)
Beispiel: getElementById
und querySelector
1const content = document.getElementById('content');
2console.log(content.textContent); // "Hello, World!"
3
4const button = document.querySelector('#changeText');
DOM-Manipulation
Auf abgerufene Elemente können verschiedene Operationen angewendet werden.
Text ändern
Um den Text eines Elements zu ändern, verwenden Sie textContent
oder innerHTML
.
textContent
: Den Textinhalt eines Elements abrufen oder ändern. HTML-Tags werden nicht interpretiert.innerHTML
: Den HTML-Inhalt eines Elements abrufen oder ändern. Zeichenfolgen mit HTML-Tags werden ebenfalls verarbeitet.
1content.textContent = 'Hello, world!'; // Change the text
2button.innerHTML = '<strong>Click to change</strong>'; // Change including HTML
Attribute ändern
Verwenden Sie setAttribute()
und getAttribute()
, um Elementattribute zu ändern.
1button.setAttribute('disabled', 'true'); // Disable the button
2const id = content.getAttribute('id'); // Get the "content"
CSS ändern
Verwenden Sie die style
-Eigenschaft, um CSS-Stile zu ändern.
1content.style.color = 'red'; // Change the text color to red
2content.style.fontSize = '20px'; // Change the font size
Klassen manipulieren
Verwenden Sie classList
, um Klassen zu einem Element hinzuzufügen oder zu entfernen.
add()
: Eine Klasse hinzufügenremove()
: Eine Klasse entfernentoggle()
: Eine Klasse je nach Vorhandensein hinzufügen oder entfernencontains()
: Überprüfen, ob eine Klasse existiert
1content.classList.add('highlight'); // Add a class
2button.classList.toggle('active'); // Toggle a class
DOM-Elemente erstellen und löschen
Neue Elemente erstellen
Verwenden Sie document.createElement()
, um ein neues Element zu erstellen und zum DOM hinzuzufügen.
1const newDiv = document.createElement('div'); // Create a new div element
2newDiv.textContent = 'This is a new element';
3document.body.appendChild(newDiv); // Append to the body element
Elemente löschen
Verwenden Sie die Methode remove()
, um ein Element zu löschen.
1newDiv.remove(); // Remove the created element
Ereignisse hinzufügen
Im Rahmen der DOM-Manipulation können Sie Ereignis-Handler hinzufügen, die auf Benutzerinteraktionen reagieren. Verwenden Sie addEventListener()
, um Ereignisse wie Klicks und Tastaturinteraktionen zu behandeln.
1button.addEventListener('click', () => {
2 content.textContent = 'The text has been changed';
3});
In diesem Beispiel ändert das Klicken auf eine Schaltfläche den Text des #content
-Elements.
Im DOM-Baum navigieren
Sie können im DOM navigieren, um auf übergeordnete und benachbarte Elemente zuzugreifen.
parentNode
: Auf das übergeordnete Element zugreifenchildNodes
: Auf Kindknoten (aller Typen) zugreifenfirstChild
/lastChild
: Erstes/letztes KindelementnextSibling
/previousSibling
: Nächstes/vorheriges Geschwisterelement
1const parent = content.parentNode; // Get the parent element
2const firstChild = parent.firstChild; // Get the first child element
3console.log(firstChild);
Beispiel: Ein neues Element zu einer Liste hinzufügen
Hier ist ein Beispiel dafür, wie ein neues Element zu einer Liste hinzugefügt wird.
1<ul id="list">
2 <li>Item 1</li>
3 <li>Item 2</li>
4</ul>
5<button id="addItem">Add Item</button>
6
7<script>
8 const list = document.getElementById('list');
9 const addItemButton = document.getElementById('addItem');
10
11 addItemButton.addEventListener('click', () => {
12 const newItem = document.createElement('li');
13 newItem.textContent = 'New Item';
14 list.appendChild(newItem);
15 });
16</script>
In diesem Code fügt das Klicken auf die Schaltfläche "Element hinzufügen" ein neues <li>
-Element zur Liste hinzu.
Zusammenfassung
- Die Manipulation des JavaScript DOM ermöglicht es Ihnen, Elemente in einem HTML-Dokument abzurufen, zu ändern, zu erstellen und zu löschen.
- Sie können Elemente mithilfe von Methoden wie
getElementById()
undquerySelector()
abrufen. - Verwenden Sie
textContent
oderinnerHTML
, um Text und HTML zu ändern, undsetAttribute()
, um Attribute zu manipulieren. - Verwenden Sie
createElement()
, um neue Elemente zu erstellen, undremove()
, um sie zu löschen. - Sie können interaktive Webseiten erstellen, die durch Ereignisbehandlung auf Benutzeraktionen reagieren.
Sie können den obigen Artikel mit Visual Studio Code auf unserem YouTube-Kanal verfolgen. Bitte schauen Sie sich auch den YouTube-Kanal an.