我尝试在页面上获取主div的大小,以使iframe将其高度更改为内容,但document.getElementById("divId").offsetHeight
(也尝试innerHeight
)返回错误的值。它总是返回247,但事实上页面看起来像削减了75%。我有一个想法,页面没有完全加载,所以我把调整大小的代码放在页面的页脚,但它仍然返回247。
$(document).ready(function() {
console.log(document.getElementById("resizeDiv").offsetHeight);
});
有什么建议吗?
答案 0 :(得分:0)
试试这个
$(document).ready(function() {
console.log($("#resizeDiv").height()); }
);
答案 1 :(得分:0)
你已经在使用jQuery,为什么不尝试:
$(function() {
$('#resizeDiv').height();
});
听起来您可能正在尝试根据其中的内容调整iFrame的大小。如果你想这样做,这个问题已在这里得到解答:
答案 2 :(得分:0)
document.getElementById("resizeDiv").offsetHeight
,它以像素为单位给出元素的实际高度。该值包括任何填充和边框的高度。
document.getElementById("resizeDiv").style.height
类似于.height,除非您要求样式属性的高度部分。
document.getElementById("resizeDiv").height
仅在元素具有height属性(例如IMG标记)时有效:
<img src="..." width="200" height="300">
这是document.getElementById("resizeDiv").getAttribute("height")
的简写。
答案 3 :(得分:0)
我已经找到了其他的决定,我只是获得身体的高度并且效果很好:
var height = Math.max(
document.body.scrollHeight,
document.body.clientHeight,
document.body.offsetHeight,
document.documentElement.scrollHeight,
document.documentElement.offsetHeight,
document.documentElement.clientHeight);
答案 4 :(得分:0)
在加载DOM之后,您可能需要加载函数。
window.addEventListener('DOMContentLoaded', (event) => {
// do something
});
在完全加载并解析了初始HTML文档之后,无需等待样式表,图像和子帧完成加载,就会触发DOMContentLoaded事件。