Я хочу иметь возможность регистрировать высоту каждого из элементов .slide-text-overlay, но, похоже, значение не отображается. Простой цикл for of должен проходить через каждый класс и просто регистрировать html этого класса, а затем высоту, но высота не регистрируется; вместо этого просто пустая строка в консоли.
Любые идеи, что я делаю неправильно здесь? Спасибо за любую помощь
var overlays = document.querySelectorAll('.overlay');
for (let overlay of overlays) {
console.info(overlay);
console.info(overlay.style.height);
}.overlay:first-of-type {
color: red;
width: 100px;
height: 50px;
background: orange;
}
.overlay:nth-of-type(2) {
color: blue;
width: 100px;
height: 75px;
background: pink;
}<div class='overlay'>
overlay 1
</div>
<div class='overlay'>
overlay 2
</div>упс, да, я имел в виду '.overlay', но проблема та же самая (кстати, я обновил демо) - она просто регистрируется как ''" - codepen.io/anon/pen/arNJJw?editors=1111
Попробуйте overlay.getBoundingClientRect().height вместо overlay.style.height
спасибо обоим - оба заработали



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Класс в querySelector должен быть оверлейным
var overlays = document.querySelectorAll('.overlay');
for (let overlay of overlays) {
console.info(overlay);
console.info(overlay.style.height);
}.overlay:first-of-type {
color: red;
width: 100px;
height: 50px;
background: orange;
}
.overlay:nth-of-type(2) {
color: blue;
width: 100px;
height: 75px;
background: pink;
}<div class='overlay'>
overlay 1
</div>
<div class='overlay'>
overlay 2
</div>Попробуй это:
var overlays = document.getElementsByClass('.overlay');
for (let overlay of overlays) {
console.info(overlay);
console.info(overlay.style.height);
}
Используйте высоту смещения в JS
var overlays = document.querySelectorAll('.overlay');
for (var i=0; i < overlays.length; i++) {
console.info(overlays[i].offsetHeight)
}.overlay:first-of-type {
color: red;
width: 100px;
height: 50px;
background: orange;
}
.overlay:nth-of-type(2) {
color: blue;
width: 100px;
height: 75px;
background: pink;
}<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class='overlay'>
overlay 1
</div>
<div class='overlay'>
overlay 2
</div>Documentation: https://www.w3schools.com/jsref/prop_element_offsetheight.asp
В вашей разметке нет класса
slide-text-overlay.