关于如何在不使用 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 人。如果您不喜欢它,请告诉我原因,以便我修复它。这是我对否决票最大的不满;你很少告诉我为什么你不赞成它。