js获取元素宽高误区

前一段时间看到了这样的代码
css

.s {
        width: 200px;
        height: 200px;
        background: red;
    }

html

<button id="btn">获取</button>
<div id="ss" class="s"></div>

js

window.onload = function() {
        var btn = document.getElementById("btn");
        var ss= document.getElementById("ss");
        btn.onclick = function() {
            console.log(ss.style.width);
        }
    }

光看代码其实看不出有什么错误,但是是获取不到width的值的!!!
因为通过style只能获取内联样式,如

<div id="ss" class="s" style="width: 100px"></div>

注意不要写成这样

<div id="ss" class="s" width="100px"></div>

其实获取元素的宽和高可以使用getBoundingClientRect或offsetWidth/offsetHeight
具体代码就不贴了,只要注意获取的并不是类似于style的width,而是包括padding以及边框,演示地址http://jsrun.net/JkiKp/edit

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Window和document对象的区别 window对象window对象表示浏览器中打开的窗口window对象是...
    FConfidence阅读 2,289评论 0 5
  • HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth s...
    brightranger阅读 997评论 0 1
  • w一:rem布局公式 document.documentElement.style.fontSize=20*doc...
    stars甜阅读 807评论 0 1
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,865评论 1 92
  • 双十一也叫光棍节是一种流传于年轻人的娱乐性节日,以庆祝自己仍是单身一族为骄傲(“光棍”的意思便是“单身”)。11月...
    宇文东林阅读 190评论 0 2