搜索
javascript - 无法获取js创建的元素高度?
PHP中文网
PHP中文网 2017-04-10 16:31:57
[JavaScript讨论组]

元素的高度都是自动的,元素都在页面上渲染了,就是无法获取它的高度。
console.log()返回的永远是空字符串!
为什么??
对了,我要用js创建很多<p><img src=""></p>这样的结构。
现在的问题就是,我无法获取p的真实高度,因为图片还没有加载完。

PHP中文网
PHP中文网

认证0级讲师

全部回复(4)
巴扎黑

你设置高度了吗

黄舟

获取动态元素,需要在这个元素创建显示出来之后,再获取他的高度

ringa_lee
$(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>
PHP中文网

window.onload=function(){//获取高度}。用这个试试,等页面全部加载完毕之后再获取,可能页面还没加载完毕就执行console.log了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号