Javascript JS函数返回的div高度不正确。为什么?
我尝试获取页面上主div的大小,以使iframe将其高度更改为内容,但Javascript JS函数返回的div高度不正确。为什么?,javascript,Javascript,我尝试获取页面上主div的大小,以使iframe将其高度更改为内容,但document.getElementById(“divId”)。OfftheSight(也尝试innerHeight)返回错误的值。它总是返回247,但事实上,page看起来像是削减了75%。我有一个想法,页面没有完全加载,所以我把调整大小代码放在页面的页脚,但它仍然返回247 $(document).ready(function() { console.log(document.getElementById("r
document.getElementById(“divId”)。OfftheSight
(也尝试innerHeight
)返回错误的值。它总是返回247,但事实上,page看起来像是削减了75%。我有一个想法,页面没有完全加载,所以我把调整大小代码放在页面的页脚,但它仍然返回247
$(document).ready(function() {
console.log(document.getElementById("resizeDiv").offsetHeight);
});
有什么建议吗?试试这个
$(document).ready(function() {
console.log($("#resizeDiv").height()); }
);
您已经在使用jQuery,为什么不试试:
$(function() {
$('#resizeDiv').height();
});
听起来您可能正试图根据iFrame中的内容调整iFrame的大小。如果您正试图这样做,此问题已在此处得到回答:
document.getElementById(“resizeDiv”)。在视线之外,它以像素为单位给出元素的实际高度。该值包括任何填充和边框的高度
document.getElementById(“resizeDiv”).style.height与.height类似,只是要求输入style属性的height部分
document.getElementById(“resizeDiv”).height仅在元素具有高度属性(如IMG标记)时有效:
<img src="..." width="200" height="300">
它是document.getElementById(“resizeDiv”).getAttribute(“height”)
的缩写 我找到了另一个决定,我只是得到了身体的高度,效果很好:
var height = Math.max(
document.body.scrollHeight,
document.body.clientHeight,
document.body.offsetHeight,
document.documentElement.scrollHeight,
document.documentElement.offsetHeight,
document.documentElement.clientHeight);
加载DOM后,可能需要加载函数
window.addEventListener('DOMContentLoaded', (event) => {
// do something
});
看
DOMContentLoaded事件在初始HTML文档完全加载和解析后激发,而不等待样式表、图像和子帧完成加载
console.log(document.getElementById(“resizeDiv”).height);给予?在$(窗口)中进行。加载(
而不是在$(文档)中)。准备就绪(
jQuery.height()是什么)
give?另外,你的HTML/CSS可能对回答这个问题至关重要。你能在上面设置一个演示吗?返回的值可能是正确的,但你期望的是不同的。这取决于你的元素在HTML/CSS中的定义。JS的原始高度方法和Jquery的wrap之间有什么区别?:-)我想没有,因为Jquery调用原始JS方法。我检查了,它给出了相同的值。查看Jquery源代码$(target)。height()是$(target.css('height')的别名;