Получить высоту div с помощью простого JavaScript

Любые идеи о том, как получить высоту div без использования jQuery?

Я искал Qaru для этого вопроса, и кажется, что каждый ответ указывает на jQuery .height().

Я пробовал что-то вроде myDiv.style.height, но ничего не возвращал, даже когда мой div имел свои width и height в CSS.

Ответ 1

var clientHeight = document.getElementById('myDiv').clientHeight;

или

var offsetHeight = document.getElementById('myDiv').offsetHeight;

clientHeight включает дополнение.

offsetHeight включает в себя дополнение, scrollBar и границы.

Ответ 2

jsFiddle

var element = document.getElementById('element');
alert(element.offsetHeight);

Ответ 3

Другой вариант - использовать функцию getBoundingClientRect. Обратите внимание, что getBoundingClientRect вернет пустой прямоугольник, если отображение элемента "none".

Пример:

var elem = document.getElementById("myDiv");
if(elem) {
   var rect = elem.getBoundingClientRect();
   console.log(rect.height);  
}

Ответ 4

var myDiv = document.getElementById('myDiv'); //get #myDiv
alert(myDiv.clientHeight);

clientHeight и clientWidth - это то, что вы ищете.

offsetHeight и offsetWidth также возвращают высоту и ширину, но включают границы и полосу прокрутки. В зависимости от ситуации вы можете использовать один или другой.

Надеюсь, что это поможет.

Ответ 5

Другие ответы не работали для меня. Вот что я нашел в w3schools, предполагая, что div имеет набор height и/или width.

Все, что вам нужно, это height и width, чтобы исключить заполнение.

    var height = document.getElementById('myDiv').style.height;
    var width = document.getElementById('myDiv').style.width;

Вы downvoters:. Этот ответ помог по крайней мере 5 людям, судя по полученным аппроксимам. Если вам это не нравится, скажите мне, почему я могу это исправить. Что мое самое большое домашнее животное заглядывает с downvotes; вы редко говорите мне, почему вы его понижаете.

Ответ 6

<div id="item">show taille height</div>
<script>
    alert(document.getElementById('item').offsetHeight);
</script>

Jsfiddle

Ответ 7

В дополнение к el.clientHeight и el.offsetHeight, когда вам нужна высота содержимого внутри элемента (независимо от высоты, установленной для самого элемента), вы можете использовать el.scrollHeight. больше информации

Это может быть полезно, если вы хотите установить высоту элемента или максимальную высоту, равную точной высоте его внутреннего динамического содержимого. Например:

var el = document.getElementById('myDiv')

el.style.maxHeight = el.scrollHeight+'px'

Ответ 8

пытаться

myDiv.offsetHeight 

console.log("Height:", myDiv.offsetHeight );
#myDiv { width: 100px; height: 666px; background: red}
<div id="myDiv"></div>

Ответ 9

Вот еще одна альтернатива:

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;
        }

    }