获得最大的div组高度

时间:2016-11-01 15:23:09

标签: javascript jquery html css

我需要在类名为termPanel的div组中找到最大div的高度。 如何访问每个' termPanel'数组中的div?

 function resizePanelsToBiggest(){

        var maxheight = 0;

        var terms = $('.termPanel');

        for(var i = 0;i<terms.length;++i){

            if(maxheight < terms[i].height){
                maxheight = terms[i].height;
            }


        }

    }

3 个答案:

答案 0 :(得分:6)

使用Math.max.apply

function resizePanelsToBiggest() {
  var maxheight = 0;
  var terms = $('.termPanel');
  var allH = terms.map(function() {
    return $(this).height();
  }).get();
  var maxH = Math.max.apply(null, allH);
  console.log(maxH);
}

答案 1 :(得分:1)

查看此演示:

 resizePanelsToBiggest();
 
 function resizePanelsToBiggest() {
     var maxheight = 0;
     var terms = $('.termPanel');
     terms.each(function(ndx){
     	if ($(this).height() > maxheight) {
        	maxheight = $(this).height();
        }
     });
     console.log(maxheight);
 }
.termPanel {
    width: 90px;
    display: inline-block;
    vertical-align: top;
    color: white;
}

.termPanel:nth-of-type(even) {
    background: black;
}

.termPanel:nth-of-type(odd) {
    background: red;
}

.termPanel:nth-of-type(1) {
    height: 100px;
}

.termPanel:nth-of-type(2) {
    height: 250px;
}


.termPanel:nth-of-type(4) {
    height: 400px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="termPanel"></div>
<div class="termPanel"></div>
<div class="termPanel">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ut temporibus reiciendis officia veniam quos id velit quibusdam, asperiores ipsum. Obcaecati illum, hic facere repellat dolor modi commodi eum tenetur voluptas veritatis expedita consequuntur repellendus provident error, nisi quos! Aliquid error consectetur voluptates ea dicta, vero, dolores numquam, rerum quasi molestias nemo. Explicabo tenetur, omnis quos unde iusto, necessitatibus consectetur, dolorem deleniti atque doloremque repellendus earum quae sit sint, inventore nesciunt sapiente perspiciatis voluptatum corporis soluta at fugiat. Delectus excepturi unde eos deleniti soluta natus commodi ipsum sit et veniam! Eius aut, ut, ad commodi at esse facere asperiores repellat labore alias nostrum, consequatur tempora illo quasi. Nulla deleniti, mollitia soluta, repellat fugiat officiis voluptatibus odio distinctio libero, illo delectus obcaecati!</div>
<div class="termPanel"></div>

答案 2 :(得分:1)

这种方式对我来说似乎更简单易懂:

&#13;
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="termPanel" style="float:left;width:50px;border:2px solid red"></div>
<div class="termPanel" style="float:left;width:50px;border:2px solid green"></div>
<div class="termPanel" style="float:left;width:50px;border:2px solid blue"></div>
<div class="termPanel" style="float:left;width:300px;border:2px solid red">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ut temporibus reiciendis officia veniam quos id velit quibusdam, asperiores ipsum. Obcaecati illum, hic facere repellat dolor modi commodi eum tenetur voluptas veritatis expedita consequuntur repellendus provident error, nisi quos! Aliquid error consectetur voluptates ea dicta, vero, dolores numquam, rerum quasi molestias nemo....</div>
&#13;
public void deleteMessage(int position){
    MessageViewHolder messageViewHolder= (MessageViewHolder) recyclerView.findViewHolderForAdapterPosition(position);
    messageViewHolder.linearLayout.setVisibility(View.GONE);
    messageViewHolder.tvDateSending.setVisibility(View.GONE);

}
&#13;
&#13;
&#13;