代码之家  ›  专栏  ›  技术社区  ›  Tom

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

  •  3
  • Tom  · 技术社区  · 15 年前

    我发现需要在浏览器中提取元素的集合样式(由用户完成)。我必须能够使用服务器上检索到的样式(服务器端的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 回复  |  直到 15 年前
        1
  •  3
  •   Marcus Pope    15 年前

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

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