Comment obtenir le code HTML d'un élément du DOM en javascript
Imaginer, j'ai le code HTML suivant:
<div><span><b>This is in bold</b></span></div>
Je veux obtenir le code HTML pour la div, y compris la div elle-même. De l'élément.innerHTML ne retourne:
<span>...</span>
Des idées? Grâce
Vous devez vous connecter pour publier un commentaire.
Expansion sur jldupont de réponse, vous pouvez créer un élément d'habillage à la volée:
Je suis le clonage de l'élément pour éviter d'avoir à retirer et réinsérer l'élément dans le document. Cela peut être coûteux si l'élément que vous souhaitez imprimer un arbre de très grande taille en dessous de lui, si.
Utilisation
outerHTML
:outerHTML
est pris en charge depuis FF11: developer.mozilla.org/en-US/docs/Web/API/element.outerHTML.D'abord, mettre sur un élément qui enveloppe le
div
en question, mettre unid
l'attribut de l'élément et ensuite utilisergetElementById
sur elle: une fois que vous avez la lement, il suffit de faire 'e.innerHTML` pour récupérer le code HTML.<div><span><b>This is in bold</b></span></div>
=>
<div id="wrap"><div><span><b>This is in bold</b></span></div></div>
et puis:
Note que
outerHTML
n'est pas compatible avec tous les navigateurs.div
à la soupe 🙂document
... alors où est-il, avez-vous soin de nous éclairer tous?Si vous voulez un briquet empreinte, mais plus de script, d'obtenir les éléments innerHTML et seulement de créer et cloner le vide parent-
Vous aurez envie de quelque chose de ce genre pour qu'il soit de la croix-navigateur.
element
à partir du document lorsqu'il est appelé, à droite?comme outerHTML est IE seulement, l'utilisation de cette fonction:
crée un bidon vide de l'élément de type parent et utilise innerHTML sur elle et puis replace l'élément retour à la normale dom
définir la fonction outerHTML fondée sur le soutien à l'élément.outerHTML:
une vieille question, mais pour les nouveaux arrivants qui viennent autour de :
document.querySelector('div').outerHTML