|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2007-11-15
这么简单的一段代码
<style>#div1 {display:none}</style>
<div id="div1">...</div>
<script language="javascript">
alert(document.getElementById("div1").style.display);
</script>
很奇怪,我在样式中明明定义了display值“none”,但javascript获取到的却是为空值,高手求解 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2007-11-15
通过element.style对象只能取得内联的样式,也就是说只能取得直接写道html标签里写的属性。
|
|
| 返回顶楼 | |
|
最后更新时间:2007-11-15
但如果将样式放在div里定义,就没有这个问题,奇怪。
<div id="div1" style="display:none">...</div> <script language="javascript"> alert(document.getElementById("div1").style.display); </script> |
|
| 返回顶楼 | |
|
最后更新时间:2007-11-15
因为定义的STYLE不是INLINE的....
<div id="div1" style="display:none">...</div> 就可以了 |
|
| 返回顶楼 | |
|
最后更新时间:2007-11-15
谢谢笨笨狗和niuyuewanzi ,又学了一招。
但总觉得浏览器很弱智,这个都获取不到 |
|
| 返回顶楼 | |
|
最后更新时间:2007-11-15
你去 google 搜索 currentStyle
然后再骂浏览器弱智 OK???? |
|
| 返回顶楼 | |
|
最后更新时间:2007-11-15
这应该是CSS+JAVASCRIPT中比较重要的一部分...
|
|
| 返回顶楼 | |
|
最后更新时间:2007-11-15
fins 写道 你去 google 搜索 currentStyle
然后再骂浏览器弱智 OK???? 只能IE...MOZILLA需要这样做:document.defaultView.getComputedStyle(a,null).getPropertyValue("display") |
|
| 返回顶楼 | |
|
最后更新时间:2007-11-15
fins 写道 你去 google 搜索 currentStyle
然后再骂浏览器弱智 OK???? 谢谢指点 |
|
| 返回顶楼 | |
|
最后更新时间:2007-11-15
niuyuewanzi 写道 fins 写道 你去 google 搜索 currentStyle
然后再骂浏览器弱智 OK???? 只能IE...MOZILLA需要这样做:document.defaultView.getComputedStyle(a,null).getPropertyValue("display") 如果需要辨别非INLINE的STYLE,大概可以这样: function getMyStyle(elementId,styleName)
{
var el = document.getElementById(elementId);
if (el.currentStyle)
var y = el.currentStyle[styleName];
else if (window.getComputedStyle)
var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleName);
return y;
}
|
|
| 返回顶楼 | |







