jQuery: äußere html ()

Mögliche Duplikate:
Erhalten Sie das äußere HTML des ausgewählten Elements

stell dir vor, was wir so haben:

Hello World

wenn wir die .html function auf diese Weise aufrufen:

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

wir werden bekommen:

 

Hello World

Aber ich muss:

 

Hello World

Also, was muss ich tun? Ich denke, um #xxx einen weiteren Wrapper hinzuzufügen, aber das ist keine gute Idee.

   

Erstellen Sie ein temporäres Element, dann clone() und append() :

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

Verwenden Sie einfach die Standard-DOM-functionalität:

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

outerHTML wird gut unterstützt – überprüfen Sie bei Mozilla oder caniuse .

Keine Geschwister-Lösung:

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

Universelle Lösung:

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

Fiedle hier: http://jsfiddle.net/ezmilhouse/Mv76a/

Wenn Sie keinen Wrapper hinzufügen möchten, können Sie den Code einfach manuell hinzufügen, da Sie die ID kennen, auf die Sie ausgerichtet sind:

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