关于如何在不使用 jQuery 的情况下获得 div 高度的任何想法?
我在 Stack Overflow 上搜索这个问题,似乎每个答案都指向 jQuery 的.height()
.
我尝试了类似的东西myDiv.style.height
,但它什么也没返回,即使我的 div 有它width
并height
在 CSS 中设置。
关于如何在不使用 jQuery 的情况下获得 div 高度的任何想法?
我在 Stack Overflow 上搜索这个问题,似乎每个答案都指向 jQuery 的.height()
.
我尝试了类似的东西myDiv.style.height
,但它什么也没返回,即使我的 div 有它width
并height
在 CSS 中设置。
var clientHeight = document.getElementById('myDiv').clientHeight;
或者
var offsetHeight = document.getElementById('myDiv').offsetHeight;
clientHeight
包括填充。
offsetHeight
包括填充、滚动条和边框。
另一种选择是使用 getBoundingClientRect 函数。请注意,如果元素的显示为“none”,则 getBoundingClientRect 将返回一个空矩形。
例子:
var elem = document.getElementById("myDiv");
if(elem) {
var rect = elem.getBoundingClientRect();
console.log("height: " + rect.height);
}
更新:这是在 2020 年编写的相同代码:
const elem = document.querySelector("#myDiv");
if(elem) {
const rect = elem.getBoundingClientRect();
console.log(`height: ${rect.height}`);
}
var element = document.getElementById('element');
alert(element.offsetHeight);
var myDiv = document.getElementById('myDiv'); //get #myDiv
alert(myDiv.clientHeight);
clientHeight 和 clientWidth 是您要查找的内容。
offsetHeight 和 offsetWidth 也返回高度和宽度,但它包括边框和滚动条。根据情况,您可以使用其中一种。
希望这可以帮助。
其他答案对我不起作用。这是我在w3schools发现的,假设div
有一个height
和/或width
集合。
所有你需要的是height
和width
排除填充。
var height = document.getElementById('myDiv').style.height;
var width = document.getElementById('myDiv').style.width;
你们反对者:从我收到的赞成票来看,这个答案至少帮助了 5 人。如果您不喜欢它,请告诉我原因,以便我修复它。这是我对否决票最大的不满;你很少告诉我为什么你不赞成它。