为了账号安全,请及时绑定邮箱和手机立即绑定

this.getElementsByTagName("div")[0].style.top获取不到值,那老师也是这样写的,居然会有效果,太诡异 了吧

我在想如何在js中获取某个元素样式表中的top值

正在回答

5 回答

上面没说完,视频里面直接用 obj。style.attribute 的方式获取css的top值是不对的,在前面的js动画里面有设置过一个函数叫getStyle(),可以仿照这个函数来获取top值,或者直接使用obj.offseTop

function getStyle(obj,attr){
    if(obj.currentStyle){
        return obj.currentStyle[attr]; //IE使用currentStyle方法来获取属性值
     } else{
         return getComputedStyle(obj,false)[attr];    //Firefox使用getComputedStyle方法获取属性值
         }


0 回复 有任何疑惑可以回复我~

当css属性值写在内联或者外联样式表中的时候,使用obj.style.attribute的方式是获取不到属性值的,但是可以设置属性值,只有在html元素属性中写入的内嵌样式才可以直接被obj.style.attribute的方式获取

//这个是内联
<style>            
div {
    /*    属性    */
    }
</style>

//这个是外联
<link href="#" rel="stylesheet" type="text/css"> 

//这个是内嵌
<div width="100px" height="100px"></div>


0 回复 有任何疑惑可以回复我~

那老师这样写,运行之后居然会有效果

0 回复 有任何疑惑可以回复我~

是的,

0 回复 有任何疑惑可以回复我~

你这个this必须是前面有li标签的集合吧,然后再取它里面的第一个div

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

this.getElementsByTagName("div")[0].style.top获取不到值,那老师也是这样写的,居然会有效果,太诡异 了吧

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信