Ich gehe davon aus, dass Sie nach der vollständigen HTML-Zeichenfolge fragen. Wenn dies der Fall ist, reicht so etwas aus:
$('<div>').append($('#item-of-interest').clone()).html();
Dies wird hier ausführlicher erläutert , aber im Wesentlichen erstellen Sie einen neuen Knoten, um das interessierende Element zu verpacken, die Manipulationen durchzuführen, es zu entfernen und den HTML-Code abzurufen.
Wenn Sie nur nach einer Zeichenfolgendarstellung suchen, gehen Sie mit new String(obj)
.
Aktualisieren
Ich habe die ursprüngliche Antwort im Jahr 2009 geschrieben. Ab 2014 unterstützen die meisten gängigen Browser outerHTML
eine native Eigenschaft (siehe z. B. Firefox und Internet Explorer ). Sie können also Folgendes tun:
$('#item-of-interest').prop('outerHTML');
$(...)
ist ein gültiger DOM-Knoten.)data
Mit jQuery 1.6 scheint dies eine elegantere Lösung zu sein:
quelle
Verwenden Sie einfach .get (0), um das native Element abzurufen und dessen äußere HTML-Eigenschaft abzurufen:
quelle
Können Sie etwas genauer sein? Wenn Sie versuchen, den HTML- Code in ein Tag zu integrieren, können Sie Folgendes tun:
HTML-Snippet:
jQuery:
quelle
Der beste Weg, um herauszufinden, welche Eigenschaften und Methoden einem HTML-Knoten (Objekt) zur Verfügung stehen, besteht darin, Folgendes zu tun:
Ab jQuery 1.6+ können Sie OuterHTML verwenden, um die HTML-Tags in Ihre Zeichenfolgenausgabe aufzunehmen:
quelle
$('#my-node').get(0).outerHTML
wie in der Antwort von.outerHTML
hat bei mir nicht funktioniert, aber.prop('outerHTML')
funktioniert.jQuery ist hier oben, also:
Gib all das HTML-Zeug zurück:
quelle
Das scheint für mich gut zu funktionieren:
quelle
Die akzeptierte Antwort deckt keine Textknoten ab (undefiniert wird ausgedruckt).
Dieses Code-Snippet löst es:
quelle
Sie müssen nicht klonen und zum DOM hinzufügen, um .html () zu verwenden. Sie können Folgendes tun:
quelle
wrap()
das umschlossene Element nicht zurück , nicht das Element, mit dem es umbrochen wurde? Dies sollte also das HTML des#item-of-interest
nicht übergeordnetendiv
Elements geben (es sei denn, jQuery wurde seit Februar 2012 geändert).Möglicherweise kann die
jQuery.makeArray(obj)
Dienstprogrammfunktion verwendet werden:quelle
Wenn Sie ein HTML-Element stringifizieren möchten, um es irgendwo zu übergeben und an ein Element zurückzugeben, erstellen Sie eine eindeutige Abfrage für das Element:
als
quelle
Wenn Sie das gesamte Objekt in eine Zeichenfolge serialisieren möchten, verwenden Sie JSON .
quelle