Il metodo html() di jQuery

Il metodo html() può essere usato per leggere e scrivere il contenuto HTML di un elemento. Vediamolo in dettaglio.

Sintassi di base

Lettura

$(elemento).html()

Scrittura

$(elemento).html(stringa)

$(elemento).html(function(indice, html))

In scrittura questo metodo accetta una funzione di callback con due parametri: indice rappresenta l'indice numerico dell'elemento all'interno del set di jQuery, mentre html il suo contenuto HTML da modificare.

La stringa HTML passata in scrittura dovrebbe sempre contenere marcatura ben formata:


$('div.demo-container')
  .html('<p>All new content. <em>You bet!</em></p>');

Il codice di cui sopra crea la seguente struttura:


<div class="demo-container">
  <p>All new content. <em>You bet!</em></p>
</div>

Ecco invece un esempio con la funzione di callback:


$('div.demo-container').html(function() {
  var emph = '<em>' + $('p').length + ' paragraphs!</em>';
  return '<p>All new content for ' + emph + '</p>';
});

che può restituire:


<div class="demo-container">
	<p>All new content for <em>6 paragraphs!</em></p>.
</div>

Nota su Internet Explorer 8 e 9

Queste versioni di Explorer hanno dei problemi quando si sovrascrive il contenuto HTML di un elemento usando il metodo html(). La documentazione ufficiale raccomanda questo approccio:


	$(elemento).empty().html(stringa);
	
Torna su