技术CTO-关注编程入门知识,提供编程入门教程

您的位置: 首页 > 前端开发 > javascript > 正文

使用document.getElementById("adl").style.top获取不到style标签中定义的样式吗?

来源: 技术CTO 阅读:

alert(document.getElementById("a").style.top);

html代码是
<style >#a{……top:100px;……}</style>
<div id="a">……</div>
弹出的alert是空白的。

而将代码改成
<div id="a" style="……top:100px……">……</div>
的时候就可以取到top 的值了。

这是为什么,没有办法解决吗?

currentStyle、getComputedStyle
楼上正解!!!1
document.getElementById("a").offsetTop
引用 1 楼 cj205 的回复:
currentStyle、getComputedStyle

可以实现,但是还需要对浏览器进行判断。
我想问一下,

引用 3 楼 jslang 的回复:
document.getElementById("a").offsetTop

这个是对所有浏览器都有效的吧?
我觉得问题是不是出在你把脚本放在元素前面了,然后js运行的时候a元素根本就还没加载..

document.getElementById("a").offsetTop
这对所有浏览器都有效的
不过这个值是元素的实际位置,不是css中写的100px
document.getElementById("a").style.top

这个只能获取行间样式,获取非行间样式就用1楼的那个,一个IE一个非IE

^_^ 如果您热爱技术、热爱编程,想与更多的朋友一起交流学习,欢迎加入本站官方QQ群:345733473 ^_^