控制台与 console.log
函数打印不一致
我在HTML中添加了一个图片,样式只设置了高度,这样图片的宽度就会自适应,这样不会图片变形。
但是我想要获得这个图片真实的宽度(自适应后的宽度),这该如何获取?于是尝试使用 img.offsetWidth
或者 img.getBoundingClientRect
以及 window.getComputedStyle(img,null).width
来获取。结果打印的值都是 0
。难道获取不了没有设置的图片宽度吗?
<style>
img{
height: 300px;
}
</style>
<body>
<img src='./01.jpg' />
<script>
const img = document.querySelector('img');
console.log(img.offsetWidth); // 0
console.log(img.getBoundingClientRect().width); // 0
console.log(window.getComputedStyle(img,null).width); // 0px
</script>
</body>
但是在浏览器控制台(我使用了 Chrome 和 fireFox)去可以获取到宽度,这是为什么?
题目来源及自己的思路
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
你的图片是需要时间加载的,改成下面试试,再看看结果吧,希望帮到你。