Πώς μετατρέπετε ένα αντικείμενο jQuery σε συμβολοσειρά;
Υποθέτω ότι ζητάτε την πλήρη συμβολοσειρά HTML. Αν είναι έτσι, κάτι σαν αυτό θα κάνει το κόλπο:
$('<div>').append($('#item-of-interest').clone()).html();
Αυτό εξηγείται σε μεγαλύτερο βάθος εδώ, αλλά ουσιαστικά φτιάχνετε έναν νέο κόμβο για να τυλίξετε το στοιχείο που σας ενδιαφέρει, κάνετε τους χειρισμούς, τον αφαιρείτε και παίρνετε την HTML.
Αν θέλετε απλώς μια αναπαράσταση συμβολοσειράς, τότε επιλέξτε new String(obj)
.
Έγραψα την αρχική απάντηση το 2009. Από το 2014, τα περισσότερα μεγάλα προγράμματα περιήγησης υποστηρίζουν πλέον την outerHTML
ως εγγενή ιδιότητα (βλέπε, για παράδειγμα, Firefox και Internet Explorer), οπότε μπορείτε να κάνετε:
$('#item-of-interest').prop('outerHTML');
Μπορείτε να γίνετε λίγο πιο συγκεκριμένος; Αν προσπαθείτε να πάρετε το HTML μέσα σε μια ετικέτα, μπορείτε να κάνετε κάτι τέτοιο:
Απόσπασμα HTML:
<p><b>This is some text</b></p>
jQuery:
var txt = $('p').html(); // Value of text is <b>This is some text</b>
new String(myobj)
Αν θέλετε να σειριοποιήσετε ολόκληρο το αντικείμενο σε συμβολοσειρά, χρησιμοποιήστε JSON.