javascript - nth - selectores css avanzados
Eliminar todas las reglas de CSS (3)
¿Hay alguna forma de borrar todas las reglas de CSS una vez que las hojas de estilo ya se hayan cargado?
Tengo que usar una biblioteca de JavaScript propietaria ( API de ArcGIS Server de ESRI ) que se basa en Dojo. Hago un uso extensivo de los widgets de Dojo y me gustaría usar el tema claro de Dojo, pero desafortunadamente la biblioteca ESRI corta el CSS cargando archivos CSS fuera del sitio (y probablemente reglas CSS codificadas en el JS). Esto termina destrozando el tema de Claro.
Se rescriben tantas clases CSS de widgets de Dojo y se crean nuevas reglas que simplemente borrar todo el CSS y volver a cargar las hojas de estilos Dojo estándar parece más fácil / más seguro.
Algo como lo siguiente sería agradable:
* {none}
pero creo que tendré que terminar usando Dojo o jQuery para lograr esto.
Nop. Lamentablemente, tal cosa no existe.
Las respuestas a estas preguntas relacionadas dan más o menos el resumen de lo que es posible en términos de soluciones temporales.
Siempre hay document.head.innerHTML = "";
Pero realmente limpia la casa, por lo que debe almacenar todos los scripts, metaetiquetas, títulos o lo que quiera guardar y volver a agregarlos.
echa un vistazo a este bookmarklet llamado RefreshCSS por Paul Irish:
javascript:(function(){var h,a,f;a=document.getElementsByTagName(''link'');for(h=0;h<a.length;h++){f=a[h];if(f.rel.toLowerCase().match(/stylesheet/)&&f.href){var g=f.href.replace(/(&|%5C?)forceReload=/d+/,'''');f.href=g+(g.match(//?/)?''&'':''?'')+''forceReload=''+(new Date().valueOf())}}})()
Actualiza las hojas de estilo CSS en una página, sin actualizar la página.
Creo que podrías hacerle algunas modificaciones y hacer que haga lo que quieras.
Otro enfoque que utiliza jQuery que podría funcionar es ejecutar esto una vez que la página se haya cargado:
$(''head link, head style'').remove();