Je suppose que vous demandez la chaîne HTML complète. Si c'est le cas, quelque chose comme ça fera l'affaire:
$('<div>').append($('#item-of-interest').clone()).html();
Ceci est expliqué plus en détail ici , mais essentiellement vous créez un nouveau nœud pour envelopper l'élément d'intérêt, effectuez les manipulations, supprimez-le et saisissez le code HTML.
Si vous êtes juste après une représentation de chaîne, alors allez-y new String(obj)
.
Mise à jour
J'ai écrit la réponse originale en 2009. Depuis 2014, la plupart des principaux navigateurs prennent désormais en charge en outerHTML
tant que propriété native (voir, par exemple, Firefox et Internet Explorer ), vous pouvez donc faire:
$('#item-of-interest').prop('outerHTML');
$(...)
est un nœud DOM valide.)data
Avec jQuery 1.6, cela semble être une solution plus élégante:
la source
Utilisez simplement .get (0) pour récupérer l'élément natif et obtenez sa propriété externalHTML:
la source
Pouvez-vous être un peu plus précis? Si vous essayez de mettre le code HTML à l' intérieur d'une balise, vous pouvez faire quelque chose comme ceci:
Extrait HTML:
jQuery:
la source
La meilleure façon de savoir quelles propriétés et méthodes sont disponibles pour un nœud HTML (objet) est de faire quelque chose comme:
À partir de jQuery 1.6+, vous pouvez simplement utiliser externalHTML pour inclure les balises HTML dans votre sortie de chaîne:
la source
$('#my-node').get(0).outerHTML
comme dans la réponse de.outerHTML
n'a pas fonctionné pour moi, mais.prop('outerHTML')
a fonctionné.jQuery est ici, donc:
Retournez tous ces trucs HTML:
la source
Cela semble bien fonctionner pour moi:
la source
La réponse acceptée ne couvre pas les nœuds de texte (undefined est imprimé).
Cet extrait de code le résout:
la source
Pas besoin de cloner et d'ajouter au DOM pour utiliser .html (), vous pouvez faire:
la source
wrap()
retourne pas l'élément enveloppé, pas l'élément avec lequel il a été enveloppé? Donc, cela devrait donner le html de l' élément#item-of-interest
not it's parentdiv
(sauf si jQuery a changé depuis février 2012).Il peut être possible d'utiliser la
jQuery.makeArray(obj)
fonction utilitaire:la source
Si vous souhaitez stringifier un élément HTML afin de le passer quelque part et le réanalyser vers un élément, essayez de créer une requête unique pour l'élément:
que
la source
Si vous souhaitez sérialiser l'objet entier en chaîne, utilisez JSON .
la source