jQuery Academy · Lezione

Utilizzo degli attributi data di HTML5

Imparare a memorizzare e recuperare dati specifici dell'applicazione direttamente negli elementi HTML usando gli attributi data, per creare interfacce utente altamente dinamiche e basate sui dati.

Lezione 1 di 311 passaggi

Utilizzo degli attributi data di HTML5 è una lezione jQuery Academy gratuita su CoddyKit. Questa è la lezione 1 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento jQuery Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso jQuery Academy include 3 lezioni in totale.

Scoprire gli attributi data di HTML5

HTML5 ha introdotto gli attributi data per consentire di memorizzare dati personalizzati direttamente negli elementi HTML standard.

Li si può immaginare come scomparti segreti nei tag HTML, contenenti informazioni aggiuntive che non devono essere visualizzate. In questo modo l'HTML diventa più semantico e JavaScript più potente, perché è possibile associare i dati direttamente agli elementi.

Perché gli attributi data sono utili

Prima degli attributi data, gli sviluppatori usavano spesso classi, ID o persino campi input nascosti per memorizzare dati specifici degli elementi. Tuttavia, questi metodi presentano alcuni svantaggi:

  • Classi/ID: spesso usati impropriamente per lo stile o la selezione, anziché per i dati.
  • Input nascosti: ingombrano il DOM e sono destinati all'invio dei moduli.

Gli attributi data offrono un modo pulito e standard per incorporare dati personalizzati direttamente nel punto appropriato.

La regola di denominazione `data-`

Tutti gli attributi data devono iniziare con il prefisso data-. Dopo il prefisso è possibile assegnare all'attributo un nome a piacere, usando lettere minuscole, numeri, trattini e caratteri di sottolineatura.

  • data-id="123"
  • data-status="active"
  • data-item-price="9.99"

Questo prefisso standard garantisce che gli attributi personalizzati non entrino in conflitto con attributi HTML esistenti o futuri.

Incorporare dati nell'HTML

È possibile aggiungere facilmente gli attributi data direttamente nel markup HTML. Come qualsiasi altro attributo, hanno un nome e un valore.

Ecco un esempio: aggiungeremo data-product-id e data-category a un pulsante.

<button id="buyButton" data-product-id="456" data-category="electronics">
  Buy Now
</button>

<script>
  // JavaScript goes here later
</script>

Ottenere dati con jQuery

jQuery offre un metodo molto pratico, .data(), per recuperare i valori dagli attributi data. Il prefisso data- viene analizzato automaticamente.

Per ottenere un attributo specifico, passi il relativo nome, senza data-, a .data().

<button id="myButton" data-user-id="101" data-role="admin">
  User Profile
</button>

<script>
  $(document).ready(function() {
    const userId = $('#myButton').data('user-id');
    const userRole = $('#myButton').data('role');
    
    console.log("User ID:", userId);
    console.log("User Role:", userRole);
  });
</script>

Modificare i dati dinamicamente

Il metodo .data() non serve solo a leggere i dati: può usarlo anche per aggiornare o aggiungere dinamicamente nuovi attributi data.

Passi due argomenti: il nome dell'attributo, senza data-, e il nuovo valore. Questa operazione aggiorna la cache interna dei dati di jQuery e, per gli attributi data di HTML5, aggiorna anche l'attributo nel DOM.

<div id="statusBox" data-status="pending">
  Current Status
</div>

<script>
  $(document).ready(function() {
    console.log("Initial status:", $('#statusBox').data('status'));
    
    // Update the status
    $('#statusBox').data('status', 'complete');
    
    console.log("Updated status:", $('#statusBox').data('status'));
  });
</script>

Gestione intelligente dei tipi di dati

Una delle funzionalità più interessanti di .data() di jQuery è la conversione automatica dei tipi. Quando recupera gli attributi data, jQuery prova a convertire i valori stringa nei tipi JavaScript più appropriati.

  • "true" e "false" diventano valori booleani.
  • "123" diventa un numero.
  • "[1,2]" e "{name:'X'}" diventano array o oggetti, se sono JSON validi.

Così non dovrà occuparsi dell'analisi manuale.

Uso pratico: alternare lo stato

Gli attributi data sono perfetti per gestire lo stato degli elementi dell'interfaccia utente. Creiamo un semplice pulsante di attivazione che modifica il testo e lo stato in base a un attributo data-active.

Faccia clic sul pulsante per vedere cambiare il relativo stato.

<button id="toggleBtn" data-active="false">
  Activate Feature
</button>

<script>
  $(document).ready(function() {
    $('#toggleBtn').on('click', function() {
      let isActive = $(this).data('active');
      
      if (isActive) {
        $(this).data('active', false);
        $(this).text('Activate Feature');
        $(this).css('background-color', '#f0f0f0');
      } else {
        $(this).data('active', true);
        $(this).text('Deactivate Feature');
        $(this).css('background-color', '#d4edda');
      }
      console.log("Active state:", $(this).data('active'));
    });
  });
</script>

Suggerimenti per l'uso degli attributi data

Tenga presenti queste buone pratiche per usare gli attributi data in modo pulito ed efficace:

  • Usarli per lo stato dell'interfaccia: sono ideali per memorizzare stati temporanei dell'interfaccia, impostazioni o riferimenti.
  • Evitare dati di grandi dimensioni: non sono adatti a memorizzare enormi insiemi di dati; mantenga i valori concisi.
  • Nomi semantici: scelga nomi chiari e descrittivi, ad esempio data-user-id invece di data-u.
  • Non sostituire i dati del backend: continui a recuperare i dati complessi dal server, senza incorporarli tutti.

Quiz sugli attributi data

Consideri il seguente codice HTML e JavaScript:

<div id="item" data-price="25.50" data-available="true">
  Product Info
</div>

<script>
  $(document).ready(function() {
    const itemDiv = $('#item');
    const price = itemDiv.data('price');
    const available = itemDiv.data('available');
    
    itemDiv.data('stock', 100);
    const stock = itemDiv.data('stock');
    
    console.log(typeof price);
    console.log(typeof available);
    console.log(stock);
  });
</script>

Che cosa verrà visualizzato nella console?

Riepilogo: attributi data scatenati

Congratulazioni! Ha imparato a sfruttare la potenza degli attributi data di HTML5 con jQuery.

  • Offrono un modo pulito per incorporare dati personalizzati direttamente nell'HTML.
  • Il metodo .data() di jQuery rende semplicissimo recuperare e aggiornare questi dati.
  • La conversione automatica dei tipi semplifica la gestione dei dati.
  • Sono eccellenti per gestire lo stato dell'interfaccia utente e creare interfacce dinamiche.

Continui a esercitarsi: troverà innumerevoli modi per rendere le Sue applicazioni web più intelligenti e interattive!

Gratis per iniziare

Impara JavaScript con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
22
Lezioni
48

Domande Frequenti

La lezione «Utilizzo degli attributi data di HTML5» è gratuita?

Sì — il testo completo di «Utilizzo degli attributi data di HTML5» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso jQuery Academy, passa a CoddyKit PRO. Il corso jQuery Academy include 3 lezioni in totale.

Cosa imparerò in «Utilizzo degli attributi data di HTML5»?

Imparare a memorizzare e recuperare dati specifici dell'applicazione direttamente negli elementi HTML usando gli attributi data, per creare interfacce utente altamente dinamiche e basate sui dati. Eserciti jQuery Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare jQuery Academy?

Non è richiesta alcuna esperienza precedente. jQuery Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 3.

Quanto tempo richiede la lezione «Utilizzo degli attributi data di HTML5»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione jQuery Academy?

Sì. Ogni lezione jQuery Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Utilizzo degli attributi data di HTML5
  2. Generazione dinamica dei contenuti con i dati
  3. Integrazione di base dei template lato client
← Torna a jQuery Academy