简介:
操作 HTML 元素的样式属性至关重要动态 Web 应用程序的一个方面。这个问题探讨了如何从通过
检索样式值:
检索使用
跨浏览器方法:
获取跨浏览器的计算样式可能很棘手。 Internet Explorer (IE) 有自己的机制,element.currentStyle,而其他浏览器则使用 document.defaultView.getCompulatedStyle 方法。
跨浏览器功能:
To为了简化这个跨浏览器的实现,可以定义一个名为 getStyle() 的函数:
function getStyle(el, styleProp) { var value, defaultView = (el.ownerDocument || document).defaultView; if (defaultView && defaultView.getComputedStyle) { styleProp = styleProp.replace(/([A-Z])/g, "-").toLowerCase(); return defaultView.getComputedStyle(el, null).getPropertyValue(styleProp); } else if (el.currentStyle) { styleProp = styleProp.replace(/\-(\w)/g, function(str, letter) { return letter.toUpperCase(); }); value = el.currentStyle[styleProp]; if (/^\d+(em|pt|%|ex)?$/i.test(value)) { return convertIEValueToPixels(value); } return value; } }
这个函数清理属性名称以实现跨浏览器兼容性并处理 IE 上的单位转换。
用法:
要检索特定样式属性,请使用 getStyle() 函数所需的属性名称,例如如下:
var width = getStyle(document.getElementById("box"), "width");
限制:
getStyle() 函数提供了一种有用的跨浏览器方法。但是,它有局限性,特别是在处理某些属性(例如颜色)时,IE 可能返回定义的值而不是计算的值。例如,定义为 #ff0000 的颜色属性可能在调用 getStyle() 时返回红色。
以上是如何在不使用库的情况下在 JavaScript 中访问 HTML 元素样式值?的详细内容。更多信息请关注PHP中文网其他相关文章!