关于如何在不使用jQuery的情况下获得div高度的任何想法?
我正在搜索Stack Overflow这个问题,似乎每个答案都指向jQuery的.height()
。
我尝试了类似myDiv.style.height
的内容,但它没有返回任何内容,即使我的div在CSS中设置了width
和height
。
答案 0 :(得分:492)
var clientHeight = document.getElementById('myDiv').clientHeight;
或
var offsetHeight = document.getElementById('myDiv').offsetHeight;
clientHeight
包含填充。
offsetHeight
包括填充,滚动条和边框。
答案 1 :(得分:16)
var element = document.getElementById('element');
alert(element.offsetHeight);
答案 2 :(得分:9)
var myDiv = document.getElementById('myDiv'); //get #myDiv
alert(myDiv.clientHeight);
clientHeight和clientWidth是您正在寻找的。 p>
offsetHeight和offsetWidth也会返回高度和宽度,但它包含边框和滚动条。根据具体情况,您可以使用其中一种。
希望这有帮助。
答案 3 :(得分:9)
另一种选择是使用getBoundingClientRect函数。请注意,如果元素的显示为“无”,则getBoundingClientRect将返回一个空矩形。
示例:
var elem = document.getElementById("myDiv");
if(elem) {
var rect = elem.getBoundingClientRect();
console.log(rect.height);
}
答案 4 :(得分:3)
其他答案对我不起作用。这是我在w3schools找到的内容,假设div
设置了height
和/或width
。
您只需height
和width
即可排除填充。
var height = document.getElementById('myDiv').style.height;
var width = document.getElementById('myDiv').style.width;
你是挫折者:从我收到的赞成票来看,这个答案至少帮助了5个人。如果你不喜欢它,告诉我为什么我可以解决它。这是我最大的宠儿:你很少告诉我你为什么要投票。
答案 5 :(得分:1)
<div id="item">show taille height</div>
<script>
alert(document.getElementById('item').offsetHeight);
</script>
答案 6 :(得分:1)
一个选项是
const styleElement = getComputedStyle(document.getElementById("myDiv"));
console.log(styleElement.height);
答案 7 :(得分:0)
除了el.clientHeight
和el.offsetHeight
之外,当您需要元素内部内容的高度(无论元素本身设置的高度如何)时,都可以使用el.scrollHeight
。 more info
如果要将元素高度或max-height设置为内部动态内容的确切高度,这将很有用。例如:
var el = document.getElementById('myDiv')
el.style.maxHeight = el.scrollHeight+'px'
答案 8 :(得分:0)
尝试
myDiv.offsetHeight
console.log("Height:", myDiv.offsetHeight );
#myDiv { width: 100px; height: 666px; background: red}
<div id="myDiv"></div>
答案 9 :(得分:0)
这是另一种选择:
var classElements = document.getElementsByClassName("className");
function setClassHeight (classElements, desiredHeightValue)
{
var arrayElements = Object.entries(classElements);
for(var i = 0; i< arrayElements.length; i++) {
arrayElements[i][1].style.height = desiredHeightValue;
}
}
答案 10 :(得分:0)
javascript 高度计算
包括填充
使用clientHeight
element.clientHeight
使用offsetHeight
包括内边距、边框、边框宽度
element.offsetHeight
使用el.style.height
它只返回给定的高度(必须有手动高度例如:<div style="height:12px"></div>
否则返回空结果
element.style.height
使用getBoundingClientRect
包括内边距、边框、边框宽度
elem.getBoundingClientRect();
elem.height