JavaScript i HTML
Ten artykuł wyjaśnia JavaScript i HTML.
YouTube Video
Obiekt window
w JavaScript
Obiekt window
w JavaScript jest obiektem globalnym w środowisku przeglądarki, dostarczającym funkcje i informacje związane ze stroną internetową oraz oknem przeglądarki. Ponieważ window
jest globalnym zakresem przeglądarki, cały kod JavaScript uruchamiany w przeglądarce staje się częścią obiektu window
. Obiekt window
odgrywa ważną rolę w uruchamianiu JavaScript w środowisku przeglądarki, dostarczając wiele API i właściwości.
Kluczowe cechy obiektu window
Właściwości
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
: Uzyskuje dostęp do bieżącego dokumentu HTML.window.location
: Zarządza bieżącym URL-em i nawigacją w przeglądarce.window.history
: Uzyskuje dostęp do historii przeglądarki i umożliwia nawigację do przodu i do tyłu.window.navigator
: Dostarcza informacji o przeglądarce i urządzeniu.window.innerWidth
/window.innerHeight
: Pobiera szerokość i wysokość obszaru widoku.
Metody
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()
: Wyświetla okno alertu.window.confirm()
: Wyświetla okno dialogowe proszące o potwierdzenie użytkownika i zwraca wynik OK lub Anuluj.window.prompt()
: Wyświetla okno dialogowe proszące o wprowadzenie danych przez użytkownika i pobiera wprowadzoną wartość.window.open()
: Otwiera nowe okno lub kartę.window.setTimeout()
/window.setInterval()
: Ustawia licznik, aby wykonać funkcję po określonym czasie lub w regularnych odstępach.
Obsługa zdarzeń
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
: Zdarzenie wykonywane, gdy strona jest w pełni załadowana.window.onresize
: Zdarzenie wykonywane, gdy zmienia się rozmiar okna.window.onscroll
: Zdarzenie, które jest wywoływane, gdy użytkownik przewija stronę.
Rola jako zmienna globalna
1var myVar = 10;
2console.log(window.myVar); // 10
- Obiekt
window
przechowuje zmienne globalne i funkcje. Innymi słowy, zadeklarowane zmienne i funkcje automatycznie stają się własnościami obiektuwindow
.
Manipulacja DOM w JavaScript
Manipulacja DOM (Model Obiektowy Dokumentu) w JavaScript jest używana do dynamicznej interakcji z elementami na stronie internetowej. DOM reprezentuje strukturę dokumentu HTML jako drzewo, które można zmieniać za pomocą JavaScript, aby modyfikować strukturę i kontrolować wyświetlanie strony.
Podstawy DOM
DOM traktuje HTML strony jako obiekty, umożliwiając dostęp i modyfikację elementów oraz atrybutów. Użyj obiektu document
, aby uzyskać dostęp do dokumentu HTML.
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>
Pobieranie elementów DOM
JavaScript posiada wiele metod dostępu do elementów w DOM.
document.getElementById()
: Uzyskanie elementu na podstawie atrybutuid
document.getElementsByClassName()
: Uzyskanie elementów na podstawie nazwy klasy (HTMLCollection)document.getElementsByTagName()
: Uzyskanie elementów na podstawie nazwy tagu (HTMLCollection)document.querySelector()
: Uzyskanie pierwszego pasującego elementu przy użyciu selektora CSSdocument.querySelectorAll()
: Uzyskanie wszystkich pasujących elementów przy użyciu selektora CSS (NodeList)
Przykład: getElementById
i querySelector
1const content = document.getElementById('content');
2console.log(content.textContent); // "Hello, World!"
3
4const button = document.querySelector('#changeText');
Manipulacja DOM
Na uzyskanych elementach można wykonać różne operacje.
Zmiana tekstu
Aby zmienić tekst elementu, użyj textContent
lub innerHTML
.
textContent
: Pobierz lub zmień zawartość tekstową elementu. Tagi HTML nie są interpretowane.innerHTML
: Pobierz lub zmień zawartość HTML elementu. Ciągi zawierające tagi HTML również są przetwarzane.
1content.textContent = 'Hello, world!'; // Change the text
2button.innerHTML = '<strong>Click to change</strong>'; // Change including HTML
Zmiana atrybutów
Użyj funkcji setAttribute()
i getAttribute()
do zmiany atrybutów elementu.
1button.setAttribute('disabled', 'true'); // Disable the button
2const id = content.getAttribute('id'); // Get the "content"
Zmiana CSS
Użyj właściwości style
, aby zmienić style CSS.
1content.style.color = 'red'; // Change the text color to red
2content.style.fontSize = '20px'; // Change the font size
Manipulowanie klasami
Użyj classList
, aby dodać lub usunąć klasy z elementu.
add()
: Dodaj klasęremove()
: Usuń klasętoggle()
: Dodaj lub usuń klasę w zależności od jej obecnościcontains()
: Sprawdź, czy klasa istnieje
1content.classList.add('highlight'); // Add a class
2button.classList.toggle('active'); // Toggle a class
Tworzenie i usuwanie elementów DOM
Tworzenie nowych elementów
Użyj document.createElement()
, aby utworzyć nowy element i dodać go do DOM.
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
Usuwanie Elementów
Użyj metody remove()
, aby usunąć element.
1newDiv.remove(); // Remove the created element
Dodawanie zdarzeń
W ramach manipulacji DOM możesz dodać obsługę zdarzeń reagujących na interakcje użytkownika. Użyj addEventListener()
, aby obsługiwać zdarzenia, takie jak kliknięcia czy interakcje z klawiaturą.
1button.addEventListener('click', () => {
2 content.textContent = 'The text has been changed';
3});
W tym przykładzie kliknięcie przycisku zmienia tekst elementu #content
.
Poruszanie się po drzewie DOM
Możesz poruszać się po DOM, aby uzyskać dostęp do elementów nadrzędnych i sąsiednich.
parentNode
: Uzyskaj dostęp do węzła nadrzędnegochildNodes
: Uzyskaj dostęp do węzłów podrzędnych (wszystkich typów)firstChild
/lastChild
: Pierwszy/ostatni element podrzędnynextSibling
/previousSibling
: Następny/poprzedni element sąsiedni
1const parent = content.parentNode; // Get the parent element
2const firstChild = parent.firstChild; // Get the first child element
3console.log(firstChild);
Przykład: Dodawanie nowego elementu do listy
Oto przykład dodawania nowego elementu do listy.
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>
W tym kodzie kliknięcie przycisku "Dodaj element" dodaje nowy element <li>
do listy.
Podsumowanie
- Manipulowanie DOM w JavaScript pozwala pobierać, zmieniać, tworzyć i usuwać elementy w dokumencie HTML.
- Możesz pobierać elementy, używając metod takich jak
getElementById()
iquerySelector()
. - Użyj
textContent
lubinnerHTML
, aby zmienić tekst i HTML, orazsetAttribute()
, aby manipulować atrybutami. - Użyj
createElement()
, aby tworzyć nowe elementy, orazremove()
, aby je usuwać. - Możesz tworzyć interaktywne strony internetowe, które reagują na działania użytkownika poprzez obsługę zdarzeń.
Możesz śledzić ten artykuł, korzystając z Visual Studio Code na naszym kanale YouTube. Proszę również sprawdzić nasz kanał YouTube.