使用原生 js 如何获取元素真实高度包括(margin)?
本人写了一个很愚蠢的方法(只能分别获取 width、marginTop、paddingTop等, 这样获取效率太低,有没方法可以一次获取得到呢?)
html:
<p class="container">
<p class="text">text</p>
</p>
css:
.text {
margin: 5px 10px 15px 20px;
padding: 25px 10px 5px 3px;
}
js:
var textNode = document.querySelector('.text')
方法1:
// 只能分别获取 width、marginTop、paddingTop等, 这样获取效率太低,有没方法可以一次获取得到呢?
function getStyle(obj,attr){
if(obj.currentStyle){
return obj.currentStyle[attr];
}
else{
return document.defaultView.getComputedStyle(obj,null)[attr];
}
}
var width = getStyle(textNode, 'width')
var marginTop = getStyle(textNode, 'marginTop')
......
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
返回
window.getComputedStyle(textNode, null)就够了引用一张图片,可能会对你有帮助