我正在尝试获取页面上 div 的 DISPLAY 属性。我似乎只能抓住它,如果它是通过内联样式属性设置的。
如果我的JS是这样的:
alert(document.getElementById('myDiv').style.display);
它将使用以下 HTML 警告“阻止”:
<div id="myDiv" style="display: block;"></div>
但是,如果我通过外部样式表设置它:
#myID {display: block}
和我的 HTML:
<div id="myDiv"></div>
那么我的警报是一个空字符串。
为什么是这样?
这是CSS的一个“特性”。要真正获得样式,您需要使用window.getCompatedStyle(大多数浏览器)或元素.currentStyle(IE浏览器)。
要实施的修复window.getCompatedStyleIE 可以在以下位置找到:http://snipplr.com/view/13523/getcompulatedstyle-for-ie/。此外,请参阅此页面了解更多信息:http://www.quirksmode.org/dom/getstyles.html#link7(底部附近有一个跨浏览器 getCompulatedStyle 替代方案的脚本)。
这应该适用于所有浏览器(基于上面 QuirksMode 链接的功能):
var elem = document.getElementById("myDiv");
if (elem.currentStyle) {
var displayStyle = elem.currentStyle.display;
} else if (window.getComputedStyle) {
var displayStyle = window.getComputedStyle(elem, null).getPropertyValue("display");
}
alert(displayStyle);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)