2010-03-20 15 views
11

¿Cómo se usa outerHTML en JavaScript? GraciasCómo usar outerHTML en JavaScript?

+1

Es posible que desee comprobar esto: http://stackoverflow.com/questions/2474605/how-to-convert-a-htmlelement-to-a-string –

+0

Posible duplicado de [Cómo convertir un HTMLElement a una cadena ] (https://stackoverflow.com/questions/2474605/how-to-convert-a-htmlelement-to-a-string) – Graham

Respuesta

10

El outerHTML es el HTML de un elemento que incluye el elemento en sí. Contraste esto con el innerHTML del elemento, que es el HTML contenido dentro de las etiquetas de apertura y cierre de los elementos. Por definición, los elementos sin ambas etiquetas de apertura y cierre no tienen innerHTML.

Use outerHTML cuando desee reemplazar por completo un elemento y su contenido. Use innerHTML cuando solo desee reemplazar el contenido del elemento.

7

outerHTML es una propiedad de Internet Explorer no estándar de un elemento. Devuelve el html del elemento y sus elementos secundarios. En ciertos casos, se puede configurar para reemplazar por completo un elemento con una cadena html.

+6

Un año después, Chrome y Safari también parecen haber implementado esta función. Sin embargo, en el momento de escribir esto, Firefox no lo admite. –

+10

Se agregó soporte para [outerHTML] (https://developer.mozilla.org/en/DOM/element.outerHTML) en [Firefox 11] (https://developer.mozilla.org/en/Firefox_11_for_developers). –

11
function getHTML(node){ 
    if(!node || !node.tagName) return ''; 
    if(node.outerHTML) return node.outerHTML; 

    // polyfill: 
    var wrapper = document.createElement('div'); 
    wrapper.appendChild(node.cloneNode(true)); 
    return wrapper.innerHTML; 
} 
+0

Interesante idea. Sin embargo, dado que la mayoría de los navegadores que no son compatibles con outerHTML son compatibles con la creación de prototipos en HTMLElement, me pregunto si sería más fácil implementarlo de forma pseudo-nativa. – scunliffe

0

La mayoría de los navegadores más populares son compatibles con outerHTML. Firefox es una excepción. Para obtener más información acerca del soporte externo del navegador HTML, visite http://www.quirksmode.org/dom/w3c_html.html.

Si puede agregar jQuery a su página, le recomiendo que incluya el complemento jQuery outerHTML.

Cuestiones relacionadas