如何使用JavaScript获取跨浏览器的文字样式字符串?

时间:2010-11-20 14:51:17

标签: javascript jquery attributes cross-browser coding-style

我发现需要在浏览器中提取元素的设置样式(由用户完成)。我必须能够在我的服务器上使用检索到的样式(服务器端javascript和jQuery)。现在,问题在于许多浏览器似乎使用自己的命名约定或者喜欢将短号分离到单个元素,而其他浏览器则没有。

对我来说,一个解决方案是获取元素的文字样式字符串(不必考虑样式表中的样式)。在Firefox / Chrome中,这将起作用:

node.getAttribute('style')

不幸的是,这在Internet Explorer 5/6/7中是不可能的。我认为这将是一个解决方案:

function getStyleStr(node) {
    return typeof(node.getAttribute('style')) !== 'string' ? node.style.cssText : node.getAttribute('style');
}

http://jsfiddle.net/8p5BN/6/

不幸的是,node.style.cssText没有返回文字字符串,如下所述:http://javascript.gakaa.com/style-csstext.aspx

是否有更好的方法以跨浏览器的方式检测元素的设置样式并使用相同的名称?

1 个答案:

答案 0 :(得分:3)

http://upshots.org/?p=112

您需要访问dom元素的计算样式和/或当前样式。这应该为您提供所需的一切,它将考虑所有形式的样式(内联,声明的css和继承属性)