我发现需要在浏览器中提取元素的设置样式(由用户完成)。我必须能够在我的服务器上使用检索到的样式(服务器端 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');
}
不幸的是,node.style.cssText 不返回此处描述的文字字符串:http://javascript.gakaa.com/style-csstext.aspx
有没有更好的方法来跨浏览器检测同名元素的设置样式?
最佳答案
您需要访问 dom 元素的计算样式和/或当前样式。这应该给你你需要的一切,它会考虑所有形式的样式(内联、声明的 css 和继承的属性)
关于javascript - 如何使用 JavaScript 获取跨浏览器的文字样式字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4233273/