2010-06-10 17 views
13

Estoy trabajando en un javascript incrustable que inserta elementos HTML en páginas desconocidas. No tengo control de las hojas de estilo de las páginas en las que insertaré HTML. El problema es que el HTML que inserte se estilizará erróneamente por la página, y quiero evitarlo.¿Cómo puedo "restablecer" estilos para un elemento HTML dado?

¿Cuál es el menos detallado y/o intensivo en recursos que se debe hacer para asegurar que los elementos que inserto sean exactamente como me gustaría que sean? ¿Hay alguna manera fácil de borrar todo el estilo de un elemento HTML determinado y los elementos secundarios? En Firebug, por ejemplo, puedes eliminar todo el estilo. Siento que hay debe, y al menos debe, ¿es una forma nativa de eximir ciertos elementos HTML de las reglas de la hoja de estilo?

Ejemplo:

var myHTML = $("<div>my html in here</div>"); 
myHTML.resetAllStyles(); //<--- what would this function do? 
myHTML.appendTo("body"); 

Realmente quiero evitar de manera explícita que indica los atributos que desea para cada elemento de inserto ...

PD: Tengo mucha experiencia con JS y CSS, por lo puedes asumir que entenderé prácticamente cualquier cosa que me digas.

+0

+1 para la gran discusión que comenzó :) – 2ndkauboy

Respuesta

2

No se puede evitar que un elemento herede estilos CSS de los nodos principales. Todo lo que puede hacer es sobrescribir todos los estilos que se han heredado.

+0

Awful. ¿Quiénes son los idiotas miopes que surgieron con esta especificación? – Sambo

+2

@Sambo - Hay mecanismos para hacer esto, si quiere un marco, use un marco, un '