Как создать массив DOM елементов?

245
16 января 2018, 14:30

Мне нужно создать массив класса .tab_p, потом получить каждого из них высоту и назначить всем элементам данного класса наибольшую высоту. Проблема в том, что массив вроде как создается, но высота почему-то считается только первого элемента, а остальные элементы в массиве имеют нулевую высоту. Вот код:

var arr_height = $(".tab_p");
        for(var i = 0; i < arr_height.length; i++){
            var frst_height = $(".frst_p").height();
            var new_height = $(arr_height[i]).height();
            if(new_height > frst_height){
                $(".tab_p").height(new_height);
            }
        }

В переменную new_height заносится значение первого элемента (275px), следовательно все элементы класса .tab_p получают 275pх.

Answer 1

Не знаю угадал или нет, но кажется вам просто надо обернуть все .tab_p в родителя с display:flex

var maxHeight = 0; 
$(".tab_p").each(function(){ 
  var itemHeight = $(this).height(); 
  if (itemHeight > maxHeight) 
    maxHeight = itemHeight; 
}); 
$(".tab_p").css("height", maxHeight + "px");
#tab_p-wrapper { 
  display: flex; 
} 
 
.tab_p { 
  width: 30px; 
  border: 1px solid black 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div id="tab_p-wrapper"> 
  <div class="tab_p">qwe qwe</div> 
  <div class="tab_p">qwe qwe qwe qwe qwe</div> 
  <div class="tab_p">qwe qwe qwe</div> 
</div>

Answer 2
var maxHeight = 0;
$(".tab_p").each(function(){
  var itemHeight = $(this).height();
  if (itemHeight > maxHeight)
    maxHeight = itemHeight;
});
$(".tab_p").css("height", maxHeight + "px");
READ ALSO
Не срабатывает счетчик score

Не срабатывает счетчик score

Не срабатывает счетчик scoreТ

239
ECMAScript Script Jobs. Как инициировать работу этого типа?

ECMAScript Script Jobs. Как инициировать работу этого типа?

ECMAScript определяет 2 типа работ как обязательные: Promise Jobs и Script JobsСитуация с Promise Jobs понятна: создал себе Promise или асинхронную функцию - и все,...

146
Node.js node-config vs defer()

Node.js node-config vs defer()

День добрый, помогите разобраться:

158
Приватные свойства в js

Приватные свойства в js

Я не знаю как правильно сказать, но как сделать свойство, которое было бы не видно внешне, но было бы видно методам установленных через прототип?...

233