jQuery: outer html ()

Possibile duplicato:
Ottieni l’HTML esterno dell’elemento selezionato

immagina cosa abbiamo qualcosa di simile a questo:

Hello World

se chiamiamo la funzione .html in questo modo:

 $("#xxx").html(); 

otterremo:

 

Hello World

Ma ho bisogno di ottenere:

 

Hello World

Quindi, cosa devo fare? Penso di aggiungere un altro wrapper attorno a #xxx, ma questa non è una buona idea.

Crea un elemento temporaneo, quindi clone() e append() :

 $('
').append($('#xxx').clone()).html();

Basta usare la funzionalità DOM standard:

 $('#xxx')[0].outerHTML 

outerHTML è ben supportato – verifica su Mozilla o caniuse .

Nessuna soluzione fratelli:

 var x = $('#xxx').parent().html(); alert(x); 

Soluzione universale:

 // no cloning necessary var x = $('#xxx').wrapAll('
').parent().html(); alert(x);

Fiddle qui: http://jsfiddle.net/ezmilhouse/Mv76a/

Se non vuoi aggiungere un wrapper, puoi semplicemente aggiungere il codice manualmente, dato che conosci l’ID che hai scelto come target:

 var myID = "xxx"; var newCode = "
"+$("#"+myID).html()+"
";