扫码关注官方订阅号
我用两种方式创建p1.种是用 document.createElement('p'); console.log($('p').height())有高度2.种是用 $(body).html('
学习是最好的投资!
你的第一种方法没有把p添加到DOM里,例如$('body')appendChild(document.createElement('p'))因此个人认为,console.log($('p').height())取到的不是你刚创建的元素,而是你之前就有的元素。所以有高度。
$('body')appendChild(document.createElement('p'))
console.log($('p').height())
你看下是不是你写的代码有问题把代码贴出来看看我这边测试是OK的query append操作会将元素添加到当前DOM书上,渲染引擎在发现DOM有变化就会渲染页面(局部的或全局的)
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="../script/jquery-2.1.3.min.js"></script> <script> $(function(){ $('body').append('<p>123</p>'); console.log($('p').height());//有输出结果 18 }); </script> </head> <body> </body> </html>
经过测试,两种方法都可以获得元素高度。具体代码如下,你可以对照下看看
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> </body> <script src="jquery.js"></script> <script> window.onload = function(){ /*var p = document.createElement('p'); document.body.appendChild(p); console.log($('p').height());*/ $('body').html('<p></p>'); console.log($('p').height()); }; </script> </html>
以上代码输出高度都为0
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
你的第一种方法没有把p添加到DOM里,例如

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