37 votes

jQuery: Obtenir le code HTML, y compris le sélecteur?

Dites que j'ai ce code HTML:

 <ul>
  <li id="example"><strong>Awesome</strong> example text</li>
</ul>
 

Je veux pouvoir faire quelque chose comme $('#example').html() mais pour le moment, cela ne fait évidemment que <strong>Awesome</strong> example text .

Alors, comment puis-je obtenir le code HTML, y compris l'élément sélectionné?

c'est à dire. <li id="example"><strong>Awesome</strong> example text</li>

J'utilise jQuery 1.4.4.

51voto

Jamie Wong Points 10858

Dans ce cas particulier:

 var outerHTML = $("<div />").append($('#example').clone()).html();
 

Voir: http://darlesson.com/jquery/outerhtml/

Et la discussion ici: http://api.jquery.com/html/ (cela explique que ce n'est pas dans jQuery core et que certaines solutions logiques ne fonctionnent pas)

5voto

spad3s Points 426

Vous pouvez essayer ceci:

 var html = $('<div>').append($('#example').clone()).html();
 

2voto

Dominic Barnes Points 13815

OuterHTML peut le faire pour les navigateurs qui le prennent en charge. Il y a des plugins jQuery comme celui - ci qui permettent le support via quelques jQuery intelligents.

-1voto

Andrey Popov Points 19
var outerHtml = $('#example').detach();

-3voto

ben Points 1

Quelque chose ne va pas avec simplement en utilisant $ ('# exemple')? Cela attrape le tout!

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X