Comment convertir un objet jQuery en chaîne de caractères ?

Comment convertir un objet jQuery en chaîne de caractères ?

Solution

Je suppose que vous demandez la chaîne HTML complète. Si c'est le cas, quelque chose comme ceci fera l'affaire :

$('<div>').append($('#item-of-interest').clone()).html(); 

Cette méthode est expliquée plus en détail [ici][1], mais en gros, vous créez un nouveau nœud pour envelopper l'élément qui vous intéresse, vous effectuez les manipulations, vous le supprimez et vous récupérez le HTML.

Si vous cherchez simplement une représentation sous forme de chaîne, utilisez new String(obj).

Mise à jour

J'ai écrit la réponse originale en 2009. Depuis 2014, la plupart des principaux navigateurs prennent en charge outerHTML en tant que propriété native (voir, par exemple, [Firefox][2] et [Internet Explorer][3]), vous pouvez donc le faire :

$('#item-of-interest').prop('outerHTML');

[1] : http://jquery-howto.blogspot.com/2009/02/how-to-get-full-html-string-including.html [2] : https://developer.mozilla.org/en-US/docs/Web/API/Element.outerHTML [3] : http://msdn.microsoft.com/en-us/library/ie/ms534310(v=vs.85).aspx)

Commentaires (13)

Pouvez-vous être un peu plus précis ? Si vous essayez d'obtenir le [HTML][1] à l'intérieur d'une balise, vous pouvez faire quelque chose comme ceci :

Extrait HTML :

<p>This is some text</p>

jQuery :

var txt = $('p').html(); // Value of text is This is some text

[1] : http://en.wikipedia.org/wiki/HTML

Commentaires (0)
new String(myobj)

Si vous voulez sérialiser l'objet entier en chaîne, utilisez [JSON][1].

[1] : http://en.wikipedia.org/wiki/JSON

Commentaires (1)