HTML CSS JAVASCRIPT SQL MYSQL PYTHON JAVA PHP C C++ C# PACKET TRACER CYBERSECURITY REACT TYPESCRIPT NODE.JS GIT & GITHUB DATA SCIENCE BOOTSTRAP GO KOTLIN JQUERY DJANGO VUE ANGULAR MONGODB POSTGRESQL SASS NUMPY PANDAS SCIPY DSA RUST SWIFT BASHXMLW3.CSSANGULARJSAIAWSPROGRAMMAZIONEEXCEL WORD POWERPOINT
Corso gratuito · Interattivo

Corso jQuery in italiano

Impara da zero la libreria che ha reso facile JavaScript: selettori, eventi, effetti, manipolazione del DOM e AJAX. Con editor live per provare ogni esempio sul momento.

Cos'è jQuery

jQuery è una libreria JavaScript velocissima e leggera che semplifica enormemente la manipolazione delle pagine HTML, la gestione degli eventi, le animazioni e le chiamate AJAX. Il suo motto è: "scrivi meno, fai di più".

Perché imparare jQuery

  • ✍️ Conciso: una riga di jQuery sostituisce molte righe di JavaScript puro
  • 🌍 Compatibile: nasconde le differenze tra i browser
  • 🎬 Animazioni facili: effetti di fade, slide e animate pronti all'uso
  • 📚 Diffusissimo: ancora presente in moltissimi siti e temi (es. WordPress)
Il primo effetto jQuery
📘 Premi ▶ Provalo tu: l'editor è già collegato a jQuery, quindi vedi subito il risultato e puoi modificarlo dal vivo. Conoscere le basi di JavaScript aiuta molto.

Introduzione a jQuery

jQuery è stato creato nel 2006 per risolvere un problema reale: scrivere JavaScript che funzionasse in modo identico su tutti i browser era complicato. jQuery offre una sintassi unica e semplice che funziona ovunque.

Cosa puoi fare con jQuery

  • Selezionare e manipolare elementi HTML
  • Cambiare CSS e contenuti al volo
  • Gestire eventi (click, hover, tastiera...)
  • Creare animazioni ed effetti
  • Caricare dati dal server con AJAX
💡 Oggi i framework moderni come React hanno preso il posto di jQuery nei progetti nuovi, ma jQuery resta utile e diffusissimo: saperlo leggere e usare è ancora una competenza preziosa.

Iniziare con jQuery

Per usare jQuery basta includere la libreria dal CDN. Si mette nell'<head> o appena prima di </body>.

<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>

Il "document ready"

Il codice jQuery va eseguito quando la pagina è pronta. Si usa $(document).ready() oppure la sua forma breve $(function(){ ... }).

Document ready
📘 Nell'editor il CDN di jQuery è già incluso: scrivi solo il contenuto della pagina e il tuo script.

La sintassi di jQuery

La sintassi base di jQuery è: $(selettore).azione()

  • $ — indica jQuery
  • selettore — trova gli elementi HTML (come in CSS)
  • azione() — cosa fare su quegli elementi
La formula $(selettore).azione()

I selettori

I selettori servono a "trovare" gli elementi HTML da manipolare. Usano la stessa sintassi del CSS: per tag, per #id e per .classe.

Selezionare in vari modi
📘 Selettori utili: $("*") tutti gli elementi, $("p:first") il primo paragrafo, $("li:even") gli elementi pari di una lista.

Gli eventi

Gli eventi sono le azioni dell'utente: click, passaggio del mouse, pressione di un tasto. jQuery permette di reagire a ciascuno con un metodo dedicato.

MetodoReagisce a
click()Clic del mouse
dblclick()Doppio clic
hover()Mouse sopra/fuori
keypress()Tasto premuto
Reagire a click e hover

Nascondere e mostrare

I metodi hide(), show() e toggle() nascondono e mostrano gli elementi. Accettano una durata in millisecondi per animare la transizione.

hide, show e toggle

Le dissolvenze (fade)

Gli effetti fade fanno apparire e scomparire gli elementi con una dissolvenza: fadeIn(), fadeOut(), fadeToggle() e fadeTo().

fadeIn, fadeOut, fadeToggle

Gli scorrimenti (slide)

Gli effetti slide mostrano/nascondono un elemento facendolo scorrere: slideDown(), slideUp() e slideToggle().

slideToggle: un pannello a fisarmonica

Le animazioni (animate)

Il metodo animate() crea animazioni personalizzate modificando gradualmente le proprietà CSS numeriche.

Muovere e ridimensionare un box
📘 animate() funziona solo con proprietà numeriche (left, width, opacity...). Per le animazioni l'elemento di solito deve avere position: relative o absolute.

Fermare le animazioni

Il metodo stop() interrompe un'animazione in corso prima che finisca: utile, ad esempio, per i menu a scomparsa quando l'utente clicca rapidamente.

Fermare uno slide a metà

Le funzioni callback

Una callback è una funzione eseguita quando l'animazione è finita. Serve per evitare che le azioni successive partano troppo presto.

Eseguire codice a fine animazione

Il concatenamento (chaining)

Il chaining permette di concatenare più azioni sullo stesso elemento in un'unica riga: jQuery le esegue una dopo l'altra.

Più effetti in catena
💡 Il chaining rende il codice più compatto e leggibile, ed è più efficiente perché jQuery cerca l'elemento una sola volta.

Leggere contenuti (get)

jQuery legge i contenuti con text() (solo testo), html() (con i tag) e val() (valore dei campi di form).

text(), html() e val()

Impostare contenuti (set)

Gli stessi metodi text(), html() e val(), se ricevono un argomento, impostano il contenuto invece di leggerlo.

Modificare testo, html e valore

Aggiungere elementi

Per aggiungere nuovi elementi: append() (alla fine), prepend() (all'inizio), after() e before() (fuori dall'elemento).

append e prepend

Rimuovere elementi

remove() elimina l'elemento (e tutto il suo contenuto); empty() svuota l'elemento ma lo lascia.

remove() ed empty()

Le classi CSS

jQuery gestisce le classi con addClass(), removeClass() e toggleClass(): il modo migliore per cambiare aspetto a un elemento.

Aggiungere e togliere una classe

Il metodo css()

Il metodo css() legge e imposta direttamente le proprietà CSS di un elemento.

Leggere e impostare il CSS

Le dimensioni

jQuery legge e imposta le dimensioni con width(), height(), innerWidth() (con il padding) e outerWidth() (con bordo).

Misurare un elemento

Navigare nel DOM

Il traversing ("attraversamento") significa muoversi nell'albero degli elementi HTML partendo da un elemento per raggiungerne altri: genitori, figli, fratelli.

📘 L'HTML è un albero: ogni elemento ha un genitore (parent), eventuali figli (children) e fratelli (siblings). jQuery offre metodi per spostarsi in ogni direzione.
Trovare il genitore

Gli antenati (ancestors)

Gli antenati sono gli elementi "sopra": parent() (il genitore diretto), parents() (tutti gli antenati) e closest() (il primo antenato che corrisponde).

parent e closest

I discendenti (descendants)

I discendenti sono gli elementi "sotto": children() (i figli diretti) e find() (tutti i discendenti che corrispondono).

children e find

I fratelli (siblings)

I fratelli condividono lo stesso genitore: siblings() (tutti), next() (il successivo) e prev() (il precedente).

Evidenziare i fratelli

Il filtraggio (filtering)

Il filtraggio restringe una selezione: first(), last(), eq(n) (l'elemento all'indice n) e filter().

first, last ed eq

Introduzione ad AJAX

AJAX (Asynchronous JavaScript And XML) permette di caricare dati dal server senza ricaricare la pagina. jQuery rende AJAX semplicissimo con metodi come load(), $.get() e $.post().

A cosa serve

  • Aggiornare una parte della pagina senza ricaricarla tutta
  • Caricare contenuti su richiesta (es. "carica altri")
  • Inviare dati di un form in background
  • Comunicare con le API di un server
📘 Gli esempi AJAX hanno bisogno di un vero server per funzionare: qui vedrai il codice corretto da usare nei tuoi progetti reali, ma l'anteprima non può contattare server esterni.

Il metodo load()

Il metodo load() carica il contenuto di un file o di una URL dentro un elemento della pagina.

Caricare un file in un div (codice)

I metodi get e post

$.get() richiede dati al server (per leggere); $.post() invia dati al server (per scrivere, es. un form).

$.get e $.post (codice)
💡 Regola pratica: GET per ottenere dati, POST per inviarli. È la stessa logica dei metodi HTTP che userai con qualsiasi API.

Il metodo noConflict()

Il simbolo $ è usato anche da altre librerie. $.noConflict() libera il $ per evitare conflitti, permettendoti di usare jQuery per esteso o un alias personalizzato.

Evitare conflitti sul $

I filtri

I filtri selezionano elementi in base a criteri precisi usando pseudo-selettori come :first, :last, :even, :odd e :contains().

Filtri su una tabella

Certificazione jQuery

Una certificazione su jQuery attesta la tua padronanza della manipolazione del DOM, degli eventi e delle animazioni: utile per ruoli di sviluppo front-end e per la manutenzione dei moltissimi siti che usano ancora jQuery.

CertificazioneEnteNote
jQuery CertificateW3SchoolsBase, ottima per il CV
Front End CertificateW3Schools / freeCodeCampjQuery insieme a HTML/CSS/JS
Il tuo portfolioProgetti pubblicati valgono piu' di ogni badge

Come prepararsi

  • 🎯 Padroneggia selettori, eventi ed effetti
  • 🧩 Sai manipolare l'HTML (get/set, add/remove, classi)
  • 🌳 Conosci il traversing del DOM
  • 🟩 Pubblica i tuoi progetti su GitHub

L'editor jQuery online

Ogni esempio del corso ha il pulsante ▶ Provalo tu: apre un editor con anteprima dal vivo già collegato a jQuery. Scrivi a sinistra, vedi il risultato a destra in tempo reale.

Sperimenta liberamente

Dove esercitarti ancora

Esercizi jQuery

Esercizi pratici progressivi. Svolgili nell'editor Provalo tu.

Livello base

  1. Crea un bottone che nasconde un paragrafo con un effetto fade
  2. Cambia il colore di tutti i paragrafi al click
  3. Aggiungi una voce a una lista con append()
  4. Usa toggleClass per evidenziare un elemento

Livello intermedio

  1. Crea un pannello a fisarmonica con slideToggle()
  2. Anima un box facendolo spostare e ingrandire
  3. Evidenzia i fratelli di un elemento al click
  4. Leggi il valore di un campo input e mostralo in un paragrafo

Livello avanzato

  1. Costruisci una lista "to-do": aggiungi voci da un input e rimuovile al click
  2. Crea una galleria di immagini con effetti fade tra una e l'altra
  3. Usa il chaining per concatenare almeno 4 effetti
  4. Colora alternativamente le righe di una tabella con :even e :odd
🎯 Sfida

Realizza una mini FAQ interattiva: un elenco di domande che, al click, mostrano/nascondono la risposta con uno slideToggle(), e cambiano stile alla domanda attiva con toggleClass(). È un componente che troverai in moltissimi siti reali.

Programma del corso

La mappa completa di ciò che copre questo corso.

  • Fondamenti: cos'è jQuery, sintassi, selettori, eventi
  • Effetti: hide/show, fade, slide, animate, stop, callback, chaining
  • Manipolare l'HTML: get/set, add/remove, classi CSS, css(), dimensioni
  • Traversing: antenati, discendenti, fratelli, filtraggio
  • AJAX: load, get, post
  • Varie: noConflict, filtri

Piano di studio

jQuery si impara molto in fretta, soprattutto conoscendo le basi di JavaScript. In 1-2 settimane diventi autonomo.

PeriodoObiettivo
Giorni 1-2CDN, document ready, sintassi, selettori, eventi
Giorni 3-5Effetti: hide/show, fade, slide, animate, chaining
Giorni 6-8Manipolazione HTML: get/set, add/remove, classi, css, dimensioni
Giorni 9-10Traversing del DOM e filtri
Giorni 11-12AJAX: load, get, post + progetto pratico
💡 Il modo migliore di imparare jQuery è ricreare piccoli componenti reali: menu a tendina, gallerie, FAQ, slider. Ogni esempio del corso è un buon punto di partenza.

Domande da colloquio

jQuery compare ancora in molti colloqui front-end, specie per la manutenzione di siti esistenti. Le domande più frequenti:

  • 🔹 Cos'è jQuery e quali vantaggi offre rispetto a JavaScript puro?
  • 🔹 Cosa fa $(document).ready() e perché si usa?
  • 🔹 Differenza tra text(), html() e val()
  • 🔹 Come si aggiungono e rimuovono elementi dal DOM?
  • 🔹 Cos'è il chaining e quali vantaggi ha?
  • 🔹 Differenza tra $.get() e $.post()
  • 🔹 A cosa serve noConflict()?
  • 🔹 jQuery è ancora consigliato per i progetti nuovi? Perché?
💡 Risposta matura da dare al colloquio: jQuery è ottimo per progetti esistenti e siti semplici, ma per applicazioni nuove e complesse si preferiscono framework come React o Vue. Dimostrare di sapere quando usarlo fa la differenza.

Quiz jQuery

Verifica le tue conoscenze. Le risposte sono in fondo.

  1. Qual è la sintassi base di jQuery?
  2. Cosa fa $(document).ready()?
  3. Come si seleziona un elemento per id?
  4. Quale metodo nasconde un elemento con dissolvenza?
  5. Quale metodo aggiunge contenuto alla fine di un elemento?
  6. Differenza tra remove() ed empty()?
  7. Cosa fa toggleClass()?
  8. Cos'è il chaining?
  9. Quale metodo carica contenuto da una URL dentro un elemento?
  10. A cosa serve noConflict()?
📘 Risposte: 1) $(selettore).azione(). 2) Esegue il codice quando la pagina è pronta. 3) Con $("#id"). 4) fadeOut(). 5) append(). 6) remove elimina l'elemento, empty ne svuota solo il contenuto. 7) Aggiunge la classe se manca, la toglie se c'è. 8) Concatenare più azioni sullo stesso elemento in una riga. 9) load(). 10) A liberare il simbolo $ per evitare conflitti con altre librerie.

Conclusione — E ora?

Hai completato il corso jQuery! Ora sai selezionare e manipolare elementi, gestire eventi, creare animazioni, modificare l'HTML al volo, navigare nel DOM e caricare dati con AJAX.

I tuoi prossimi passi

  • ⚛️ Framework moderni: dopo jQuery, scopri React per le applicazioni complesse di oggi
  • 🧠 Rinforza JavaScript: il corso JavaScript ti fa capire cosa fa jQuery "sotto il cofano"
  • 🎨 Approfondisci CSS e animazioni con il corso CSS
  • 🟩 Portfolio: pubblica i tuoi progetti su GitHub
🎯 La tua sfida finale

Costruisci una pagina interattiva completa con jQuery: una galleria di immagini con effetti fade, un menu di navigazione a fisarmonica, una sezione FAQ con slideToggle e una lista "to-do" dove aggiungere e rimuovere voci. Pubblicala su GitHub Pages: sarà una dimostrazione concreta delle tue competenze front-end.

✏️ Provalo tu — scrivi e guarda il risultato
Anteprima
'; if(edDark) doc = injectDarkStyles(doc); preview.srcdoc = doc; } function preventTouch(e){ if(!overlay.contains(e.target)) e.preventDefault(); } function openEditor(code){ overlay.classList.add('open'); document.body.classList.add('editor-open'); document.body.style.overflow = 'hidden'; document.addEventListener('touchmove', preventTouch, {passive:false}); cm.setValue(code); setTimeout(function(){ cm.refresh(); cm.focus(); }, 20); applyTheme(); } function closeEditor(){ overlay.classList.remove('open'); document.body.classList.remove('editor-open'); document.body.style.overflow = ''; document.removeEventListener('touchmove', preventTouch); } cm.on('change', run); document.getElementById('ed-run').addEventListener('click', run); document.getElementById('ed-close').addEventListener('click', closeEditor); document.addEventListener('keydown', function(e){ if(e.key === 'Escape') closeEditor(); }); document.querySelectorAll('.example').forEach(function(ex){ var codeScript = ex.querySelector('.code'); var codeEl = ex.querySelector('.codeview code'); if (!codeScript || !codeEl) { return; } var raw = codeScript.textContent.replace(/^\n/, '').replace(/\s+$/, '').replace(/<\\\/script>/g, '<\/script>'); codeEl.textContent = raw; if (window.Prism) { Prism.highlightElement(codeEl); } var btn = ex.querySelector('.btn-try'); if (btn) { btn.addEventListener('click', function(){ openEditor(raw); }); } }); })();