Imagine que tenho o seguinte HTML:
<div><span><b>This is in bold</b></span></div>
Quero obter o HTML para o div, incluindo o próprio div. Element.innerHTML retorna apenas:
<span>...</span>
Alguma ideia? obrigado
javascript
html
dom
Richard H
fonte
fonte
Use
outerHTML
:fonte
outerHTML
é compatível desde FF11: developer.mozilla.org/en-US/docs/Web/API/element.outerHTML .Primeiro, coloque o elemento que envolve o
div
em questão, coloque umid
atributo no elemento e usegetElementById
nele: uma vez que você tenha o elemento, apenas faça 'e.innerHTML` para recuperar o 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>
e depois:
Observe que
outerHTML
não é compatível com navegadores diferentes.fonte
div
à sopa :)document
... então onde está, você se importa em nos iluminar a todos?Se você quiser uma pegada mais leve, mas um script mais longo, pegue os elementos innerHTML e apenas crie e clone o pai vazio
fonte
fonte
como outerHTML é apenas IE, use esta função:
cria um elemento vazio falso do tipo pai e usa innerHTML nele e, em seguida, reconecta o elemento de volta ao dom normal
fonte
Você vai querer algo assim para que seja cross-browser.
fonte
element
do documento quando chamado, certo?velha pergunta, mas para os recém-chegados que aparecem:
document.querySelector('div').outerHTML
fonte
definir a função outerHTML com base no suporte para element.outerHTML:
fonte
fonte