问答详情
源自:4-1 细节优化及扩展(一)

style.top 得不到top的值

this.getElementsByTagName("div")[0].style.top;

这样得不到top的值,怎么办?

提问者:外星人6 2015-12-17 15:11

个回答

  • 文小丽
    2016-12-01 16:30:27

    var h=this.getElementsByTagName('div')[0].scrollHeight;
    用这个 可以获取div的高度 top只能获取内联元素的高度

  • echo_kinchao
    2015-12-17 15:38:40

    您是要获取 标签的 还是他已经写好的样式?

  • Joy_Sang
    2015-12-17 15:38:34

    var li = document.getElementById("li").offsetTop;



  • 慕男婶
    2015-12-17 15:37:35

    style.top只能取嵌入式的样式,如果top不是嵌入式样式,显然是取不到的。

    可以用下面的函数来取:

    function getStyle(dom,style){
         if(dom.currentStyle){
             return dom.currentStyle[style];
         }else{
             return getComputedStyle(dom,null)[style];
         }
    }
    
    // 第一个参数,是你要取样式的那个元素。比如要取一个 id为d的div的top
    var div = document.getElementById('d');
    getStyle(div,"top");