我用两种方式创建p
1.种是用 document.createElement('p');
console.log($('p').height())有高度
2.种是用 $(body).html('<p></p>')
console.log($('p').height())没有高度
是不是前者刷新了dom树,后者没有刷新dom树
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你的第一种方法没有把p添加到DOM里,例如

$('body')appendChild(document.createElement('p'))
因此个人认为,
console.log($('p').height())
取到的不是你刚创建的元素,而是你之前就有的元素。所以有高度。
你看下是不是你写的代码有问题
把代码贴出来看看
我这边测试是OK的
query append操作会将元素添加到当前DOM书上,渲染引擎在发现DOM有变化就会渲染页面(局部的或全局的)
经过测试,两种方法都可以获得元素高度。具体代码如下,你可以对照下看看
以上代码输出高度都为0