扫码关注官方订阅号
元素的高度都是自动的,元素都在页面上渲染了,就是无法获取它的高度。console.log()返回的永远是空字符串!为什么??对了,我要用js创建很多<p><img src=""></p>这样的结构。现在的问题就是,我无法获取p的真实高度,因为图片还没有加载完。
认证0级讲师
你设置高度了吗
获取动态元素,需要在这个元素创建显示出来之后,再获取他的高度
$(document).ready(function () { console.log(obj.offsetWidth); //这样可以得到用js创建或者直接写出来的元素宽度 console.log(obj.style.width); //这样只能得到js设置的元素宽度 });
下面是我写的demo,你可以试试
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> #demo{ width:100px; height:100px; background-color:blue; } </style> </head> <body> <p id="demo">aaa</p> </body> <script> window.onload = function(){ var p = document.createElement('p'); p.innerHTML = 'aaaa'; // p.style.width = '100px'; p.style.background = 'red'; document.body.appendChild(p); console.log(p.offsetWidth); console.log(p.style.width); var demo = document.getElementById('demo'); console.log(demo.offsetWidth); console.log(demo.style.width); }; </script> </html>
window.onload=function(){//获取高度}。用这个试试,等页面全部加载完毕之后再获取,可能页面还没加载完毕就执行console.log了
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
你设置高度了吗
获取动态元素,需要在这个元素创建显示出来之后,再获取他的高度
下面是我写的demo,你可以试试
window.onload=function(){//获取高度}。用这个试试,等页面全部加载完毕之后再获取,可能页面还没加载完毕就执行console.log了