javascript - 请问为什么点击按钮第一次获得的oMenu.style.display 是空字符串呢?
怪我咯
怪我咯 2017-04-11 09:42:27
[JavaScript讨论组]





Document



怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(3)
ringa_lee

ele.style获取到的对象必须是内联申明的样式属性

<p style="diplay:none;"></p>

如果要在获取在css文件中定义的属性则需要调用

window.getComputedStyle(ele, null)[styleName];

来获取,设定第二参数值可以获取伪元素的样式。

IE下的API是:

ele.currentStyle.styleName
怪我咯

因为这样只能获取inline-style

黄舟

因为在js里dom.style读取的是元素的名为style的attribute,这个值在初始化时并没有从css表里映射到js property中去,所以虽然你写了

#menu{display:none;}

但是

<li id="menu"></li>

的style值是空的,它此时不存在style属性。只有写了:

<li style="display:none;" id="menu"></li>

时,dom.style.display才是有值的。

在读取dom.style时会返回一个根据style属性继承过来的object,如果style属性为空,那么继承过来的object里的style就也是空的

可以改用

window.getComputedStyle

dom.currentStyle

来获取样式表中的值,前者兼容非IE,后者兼容IE(或者其它的情况,我忘记了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号