Πώς μετατρέπετε ένα αντικείμενο jQuery σε συμβολοσειρά;

Πώς μετατρέπετε ένα αντικείμενο jQuery σε συμβολοσειρά;

Λύση

Υποθέτω ότι ζητάτε την πλήρη συμβολοσειρά HTML. Αν είναι έτσι, κάτι σαν αυτό θα κάνει το κόλπο:

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

Αυτό εξηγείται σε μεγαλύτερο βάθος εδώ, αλλά ουσιαστικά φτιάχνετε έναν νέο κόμβο για να τυλίξετε το στοιχείο που σας ενδιαφέρει, κάνετε τους χειρισμούς, τον αφαιρείτε και παίρνετε την HTML.

Αν θέλετε απλώς μια αναπαράσταση συμβολοσειράς, τότε επιλέξτε new String(obj).

Ενημέρωση

Έγραψα την αρχική απάντηση το 2009. Από το 2014, τα περισσότερα μεγάλα προγράμματα περιήγησης υποστηρίζουν πλέον την outerHTML ως εγγενή ιδιότητα (βλέπε, για παράδειγμα, Firefox και Internet Explorer), οπότε μπορείτε να κάνετε:

$('#item-of-interest').prop('outerHTML');
Σχόλια (13)

Μπορείτε να γίνετε λίγο πιο συγκεκριμένος; Αν προσπαθείτε να πάρετε το HTML μέσα σε μια ετικέτα, μπορείτε να κάνετε κάτι τέτοιο:

Απόσπασμα HTML:

<p>This is some text</p>

jQuery:

var txt = $('p').html(); // Value of text is This is some text
Σχόλια (0)
new String(myobj)

Αν θέλετε να σειριοποιήσετε ολόκληρο το αντικείμενο σε συμβολοσειρά, χρησιμοποιήστε JSON.

Σχόλια (1)