Interazione di JavaScript e HTML
Come JavaScript individuazione gli elementi
HTML della pagina
Proprietà JavaScript degli elementi HTML
L’ HTML
• HTML (HyperText Markup Language) è il linguaggio
con il quale si definisce una pagina web.
• Il browser (es. Explorer) legge queste istruzioni
(contenute in un file .htm) e riproduce la pagina
nella finestra seguendo tali istruzioni
• Vi sono elementi HTML per il testo, le immagini, i
link ecc.
• HTML non è un linguaggio di programmazione
Esempio
Le seguenti istruzioni HTML costruiscono una pagina web,
all’interno della quale vi è un testo in un paragrafo e una immagine
Per vedere la pagina
<html>
<head>
<title>Sephiroth</title>
</head>
<body>
<p><img src="Sephiroth.jpg" align=left>Sephiroth è un
personaggio immaginario, antagonista principale di Final
Fantasy VII ed uno dei più popolari personaggi della
saga di Final Fantasy.</p>
</body>
</html>
JavaScript
• JavaScript è un linguaggio di programmazione che opera
all’interno delle pagine web
• Il browser è in grado di leggere le istruzioni, elaborarle ed
eseguirle
• Come linguaggio di programmazione, uno script JavaScript è
un insieme di istruzioni organizzate con strutture di controllo
(esempio: selezione if, ciclo for) che operano su dei dati (di
tipo numero, stringa, booleano) per fornire azioni o risultati.
Esempio
• Le seguenti istruzioni JavaScript chiedono all’utente
un numero intero e ne scrivono i divisori sulla pagina
Per vedere lo script funzionare
<script>
x=prompt("inserisci un numero intero","");
for (i=1;i<=x;i++)
if (x%i==0)
document.write(i +"<br>");
</script>
Interazione JavaScript - HTML
• JavaScript è stato creato per permettere ad un linguaggio
di programmazione di interagire sugli elementi della
pagina HTML
• JavaScript può accedere a tutte le proprietà di un
elemento (posizione, dimensione, colore, ecc.) e
modificarle dinamicamente, reagendo anche a eventi che
l’utente produce con il mouse sulla pagina
• HTML, JavaScript, Stylesheets (CSS) e DOM (Document
Object Model - Modello del Documento a Oggetti)
formano una tecnologia che va sotto il nome di DHTML
(HTML dinamico)
Come JS individua un elemento HTML
• Nell’HTML identifichiamo un elemento attribuendogli un
identificatore (un nome) mediante l’attributo ID
Ad esempio, nell’HTML inseriamo una immagine
<img src="Sephiroth.jpg" id="myimg">
• Nello script JavaScript utilizziamo la funzione
document.getElementById("identificatore");
per ottenere un riferimento all’elemento HTML della pagina
che ha ID l’identificatore scritto tra le parentesi
• Nell’esempio
x=document.getElementById("myimg");
• Da questa istruzione in poi, per JavaScript la variabile x
rappresenta l’immagine e quindi siamo in grado di combiare
con le istruzioni le sue proprietà.
Come JavaScript accede alle proprietà di
un elemento HTML
• Una volta individuato l’elemento con la funzione
getElementById JavaScripot accede alle proprietà
dell’elemento con la sintassi
x.nomeproprietà
x.style.nomeproprietà
(se è una proprietà CSS)
dove x è il riferimento all’elemento
• Esempio (comunica le dimensioni delle immagini)
<img src="Sephiroth.jpg" id="myimg">
<script>
x=document.getElementById("myimg");
alert(x.width);
alert(x.height);
</script>
Esempio 1
• Nell’esempio lo script mostra le dimensioni dell’immagine
nelle finestre di alert e poi le raddoppia
<img src="Sephiroth.jpg" id="myimg">
<script>
x=document.getElementById("myimg");
w=x.width;
h=x.height;
alert(w);
alert(h);
x.width = 2 * w;
</script>
Esempio 2
• Nell’esempio mostra il colore del testo del paragrafo nella
finestra di alert e poi lo modifica
<p id="mytext" style="color:#000000">PROVA</p>
<script>
x=document.getElementById("mytext");
c=x.style.color;
alert(c);
x.style.color = "#0000ff";
</script>
Esempio 3
• Nell’esempio mostra la stringa di testo del paragrafo nella
finestra di alert e poi la modifica
<p id="mytext">VECCHIO TESTO</p>
<script>
x=document.getElementById("mytext");
c=x.innerText;
alert(c);
x.innerText = "NUOVO TESTO";
</script>