防止从style属性中删除未知的css属性

时间:2015-03-20 22:09:34

标签: html css

所以基本上我有一些js添加一个带有一些css过滤器的样式属性。我添加了一个webkit-prefixed和一个未加前缀的属性版本,如下所示:

<img src="image.jpg" style="filter: blur(10px); -webkit-filter: blur(10px)"/>

我需要保存该html并将其显示在其他浏览器中。但是,过滤器在不同的浏览器中不可见,因为删除了未知属性。例如,如果在webkit中添加了过滤器,则浏览器会删除非前缀属性,从而阻止html以后在firefox中工作。我想要的是一种覆盖浏览器从style属性中删除未知属性的方法,以便在不同的浏览器中显示未加前缀的版本。我知道我可以添加一些js来重新计算pageload上的过滤器,但我不想这样做。有更好的解决方案吗?

1 个答案:

答案 0 :(得分:0)

我有您的示例here,您可以看到(例如在Chrome中)样式属性甚至没有使用不适用的css属性进行更新,并且

$().html()

只会获得那些。

在您的问题中,您可能不需要前缀。

值得注意的是这个事实,取自jQuery decumentation,

  

从jQuery 1.8开始,.css()setter将自动处理属性名称的前缀。

所以你不需要添加所有这些,jQuery 1.8+将负责它。

关于使用动态添加样式检索html的主题 - 如果您首先使用.attr('style','filter:-webkit-filter:blur(10px)')添加它,则可以使用.html()检索它;