JavaScript e HTML
Questo articolo spiega JavaScript e HTML.
YouTube Video
L'oggetto window
in JavaScript
L'oggetto window
in JavaScript è l'oggetto globale in un ambiente browser, che fornisce funzioni e informazioni relative alla pagina web e alla finestra del browser. Poiché window
è lo scope globale del browser, tutto il codice JavaScript eseguito nel browser diventa parte dell'oggetto window
. L'oggetto window
svolge un ruolo importante nell'esecuzione di JavaScript nell'ambiente del browser, fornendo molte API e proprietà.
Caratteristiche principali dell'oggetto window
Proprietà
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
: Accede al documento HTML corrente.window.location
: Gestisce l'URL corrente e la navigazione del browser.window.history
: Accede alle informazioni della cronologia del browser e consente la navigazione avanti e indietro.window.navigator
: Fornisce informazioni sul browser e sul dispositivo.window.innerWidth
/window.innerHeight
: Recupera la larghezza e l'altezza del viewport.
Metodi
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()
: Mostra una finestra di dialogo di avviso.window.confirm()
: Mostra una finestra di dialogo per richiedere la conferma dell'utente e restituisce un risultato OK o Annulla.window.prompt()
: Mostra una finestra di dialogo che richiede l'input dell'utente e recupera il valore inserito.window.open()
: Apre una nuova finestra o scheda.window.setTimeout()
/window.setInterval()
: Imposta un timer per eseguire una funzione dopo un certo periodo di tempo o a intervalli regolari.
Gestione degli eventi
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
: Un evento che viene eseguito quando la pagina è stata completamente caricata.window.onresize
: Un evento che viene eseguito quando cambia la dimensione della finestra.window.onscroll
: Un evento che si attiva quando l'utente scorre la pagina.
Ruolo come Variabile Globale
1var myVar = 10;
2console.log(window.myVar); // 10
- L'oggetto
window
contiene variabili globali e funzioni. In altre parole, le variabili e le funzioni dichiarate diventano automaticamente proprietà diwindow
.
Manipolazione del DOM in JavaScript
La manipolazione del DOM (Document Object Model) con JavaScript viene utilizzata per interagire dinamicamente con gli elementi sulla pagina web. Il DOM rappresenta la struttura di un documento HTML come un albero, che può essere modificato usando JavaScript per alterarne la struttura e controllarne la visualizzazione.
Fondamenti del DOM
Il DOM considera l'HTML di una pagina web come oggetti, permettendo l'accesso e la modifica di elementi e attributi. Usa l'oggetto document
per accedere al documento 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>
Recuperare Elementi del DOM
JavaScript offre numerosi metodi per accedere agli elementi nel DOM.
document.getElementById()
: Ottieni un elemento tramite l'attributoid
document.getElementsByClassName()
: Ottieni elementi tramite il nome della classe (HTMLCollection)document.getElementsByTagName()
: Ottieni elementi tramite il nome del tag (HTMLCollection)document.querySelector()
: Ottieni il primo elemento corrispondente utilizzando un selettore CSSdocument.querySelectorAll()
: Ottieni tutti gli elementi corrispondenti utilizzando un selettore CSS (NodeList)
Esempio: getElementById
e querySelector
1const content = document.getElementById('content');
2console.log(content.textContent); // "Hello, World!"
3
4const button = document.querySelector('#changeText');
Manipolazione del DOM
È possibile eseguire varie operazioni sugli elementi ottenuti.
Cambiare il Testo
Per cambiare il testo di un elemento, usa textContent
o innerHTML
.
textContent
: Ottieni o modifica il contenuto testuale di un elemento. I tag HTML non vengono interpretati.innerHTML
: Ottieni o modifica il contenuto HTML di un elemento. Anche le stringhe contenenti tag HTML vengono elaborate.
1content.textContent = 'Hello, world!'; // Change the text
2button.innerHTML = '<strong>Click to change</strong>'; // Change including HTML
Modifica degli attributi
Usa setAttribute()
e getAttribute()
per modificare gli attributi di un elemento.
1button.setAttribute('disabled', 'true'); // Disable the button
2const id = content.getAttribute('id'); // Get the "content"
Modifica del CSS
Usa la proprietà style
per modificare gli stili CSS.
1content.style.color = 'red'; // Change the text color to red
2content.style.fontSize = '20px'; // Change the font size
Gestione delle classi
Usa classList
per aggiungere o rimuovere classi da un elemento.
add()
: Aggiungi una classeremove()
: Rimuovi una classetoggle()
: Aggiungi o rimuovi una classe in base alla sua presenzacontains()
: Verifica se una classe esiste
1content.classList.add('highlight'); // Add a class
2button.classList.toggle('active'); // Toggle a class
Creazione ed eliminazione di elementi DOM
Creazione di nuovi elementi
Usa document.createElement()
per creare un nuovo elemento e aggiungerlo al 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
Eliminazione di elementi
Usa il metodo remove()
per eliminare un elemento.
1newDiv.remove(); // Remove the created element
Aggiunta di eventi
Come parte della manipolazione del DOM, è possibile aggiungere gestori di eventi che rispondono alle interazioni degli utenti. Usa addEventListener()
per gestire eventi come clic e interazioni con la tastiera.
1button.addEventListener('click', () => {
2 content.textContent = 'The text has been changed';
3});
In questo esempio, facendo clic su un pulsante si modifica il testo dell'elemento #content
.
Navigazione nel DOM
Puoi navigare nel DOM per accedere agli elementi padre e fratelli.
parentNode
: Accede al nodo genitorechildNodes
: Accede ai nodi figli (di tutti i tipi)firstChild
/lastChild
: Primo/ultimo elemento figlionextSibling
/previousSibling
: Elemento successivo/precedente
1const parent = content.parentNode; // Get the parent element
2const firstChild = parent.firstChild; // Get the first child element
3console.log(firstChild);
Esempio: Aggiunta di un nuovo elemento a una lista
Ecco un esempio di come aggiungere un nuovo elemento a una lista.
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 questo codice, cliccando sul pulsante "Aggiungi elemento" si aggiunge un nuovo elemento <li>
alla lista.
Riepilogo
- La manipolazione del DOM con JavaScript ti consente di ottenere, modificare, creare e eliminare elementi all'interno di un documento HTML.
- Puoi ottenere elementi utilizzando metodi come
getElementById()
equerySelector()
. - Usa
textContent
oinnerHTML
per modificare testo e HTML, esetAttribute()
per gestire gli attributi. - Usa
createElement()
per creare nuovi elementi eremove()
per eliminarli. - Puoi creare pagine web interattive che rispondono alle azioni degli utenti tramite la gestione degli eventi.
Puoi seguire l'articolo sopra utilizzando Visual Studio Code sul nostro canale YouTube. Controlla anche il nostro canale YouTube.