美文网首页
js获取元素宽高误区

js获取元素宽高误区

作者: 虎虎虎呼呼 | 来源:发表于2017-09-06 12:00 被阅读0次

前一段时间看到了这样的代码
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

相关文章

网友评论

      本文标题:js获取元素宽高误区

      本文链接:https://www.haomeiwen.com/subject/bmmmjxtx.html