如何“重置”给定HTML元素的样式?

我正在研究一个可嵌入的javascript,它将HTML元素插入到未知页面中。 我无法控制将要插入HTML的页面的样式表。 问题是HTML I插入会被页面错误地设置为样式,我想阻止它。

确保我插入的元素完全符合我的要求,最简单和/或资源最少的是什么? 是否有一种简单的方法可以清除给定HTML元素和子元素的所有样式? 例如,在firebug中,您可以删除所有样式。 我觉得必须 ,至少应该是一种本地方式来从样式表规则中豁免某些HTML元素?

例:

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

我真的想避免为我插入的每个元素明确说明我想要的属性…

PS:我有很多JS和CSS的经验,所以你可以假设我会理解你要告诉我的任何事情。

我打算把它扔出去作为一种可能性。 您的书签的自定义标签怎么样? 由于IE,需要对自定义xml命名空间进行更多修改,但可能对您有用。

jQuery似乎也不介意。

http://jsfiddle.net/uvfAf/1/

jQuery的:

 $('#tester').animate({opacity: .3},1000); 

HTML:

  // Not the main HTML tags. These are embedded in the body as the root // of the bookmarklet. Scary? Perhaps.   test test 

我用这个页面来弄清楚如何在IE中做自定义标签:

http://happyworm.com/blog/tag/custom-tags/

编辑:

看起来IE希望在HTML标签中定义xmlns ,所以我将容器更改为 。 不确定整体的分歧,但似乎有效。

我更新了示例和jsFiddle。

您无法阻止从父节点inheritanceCSS样式的元素。 您所能做的就是覆盖所有已inheritance的样式。