如何使用jQuery根据最高的div均衡表中div的高度?

如何使用jQuery根据最高的div均衡表中div的高度?,jquery,html,dom,Jquery,Html,Dom,我正在创建一个页面,其中有一个表,其中包含一组图像。每个图像都包装在一组div中。这些图像是用户添加的,所以我无法控制纵横比,但我将在上传的图像上强制执行最大宽度和高度 <table class="pl_upload"> <tr class="row1"> <td class="col1"> <div> <div class="img-container"> <a

我正在创建一个页面,其中有一个表,其中包含一组图像。每个图像都包装在一组div中。这些图像是用户添加的,所以我无法控制纵横比,但我将在上传的图像上强制执行最大宽度和高度

<table class="pl_upload"> 
  <tr class="row1"> 
    <td class="col1"> 
      <div>
        <div class="img-container">
          <a href="#"><img src="img.jpg" width="182"  alt="X" /></a>
        </div>
      </div> 
    </td>
    .......

.......
我想做的是计算表中最高的图像div的高度,然后使用jQuery使所有图像div的高度相同

我在这里为它制作了一个JSFIDLE页面:


像这样的东西是你想要的吗:

var Max = 0;
var Images = $(".img-container img");

Images.each(function(k,v){
    $(this).load(function(){
        if(Max < $(this).height())
        {
            Max = $(this).height();
        }

        if(k == Images.length)
        {
            $(".img.container").height(max);
        }
    });
})
var Max=0;
var图像=$(“.img容器img”);
图像。每个(函数(k,v){
$(this.load(function()){
如果(最大值<$(此).height())
{
Max=$(this).height();
}
if(k==Images.length)
{
$(“.img.container”)。高度(最大值);
}
});
})
测试用例:


我不是说它完全按照您的要求工作,但从您的描述来看,这就是我的想法。

您想要的是这样的东西吗:

var Max = 0;
var Images = $(".img-container img");

Images.each(function(k,v){
    $(this).load(function(){
        if(Max < $(this).height())
        {
            Max = $(this).height();
        }

        if(k == Images.length)
        {
            $(".img.container").height(max);
        }
    });
})
var max = 0;

$(".pl_upload img").each(function() {
 if($(this).height() > max) {
  max = $(this).height();
 }
});

$(".img-container").height(max);
var Max=0;
var图像=$(“.img容器img”);
图像。每个(函数(k,v){
$(this.load(function()){
如果(最大值<$(此).height())
{
Max=$(this).height();
}
if(k==Images.length)
{
$(“.img.container”)。高度(最大值);
}
});
})
测试用例:


我不是说它完全按照您的要求工作,但根据您的描述,这就是我想到的。

不确定您到底在寻找什么,但是这应该能够获得页面上最高的图像,然后将页面上的
div设置为该高度

var max = 0;

$(".pl_upload img").each(function() {
 if($(this).height() > max) {
  max = $(this).height();
 }
});

$(".img-container").height(max);
此外,如果将函数包装在
$(window.load()
中,则只应在加载所有图像后调用该函数

$(window).load(function() {
    var tallest = 0;
    $("img").each(function() {
        var h = $(this).height();
        if (h > tallest) {
            tallest = h;
        }
    });
    $("div").css("height", tallest);
});
举个例子


如果这不是您需要的,请详细说明您的问题。

不确定您要查找的确切内容,但是这应该能够获得页面上最高的图像,然后将页面上的
div设置为该高度

此外,如果将函数包装在
$(window.load()
中,则只应在加载所有图像后调用该函数

$(window).load(function() {
    var tallest = 0;
    $("img").each(function() {
        var h = $(this).height();
        if (h > tallest) {
            tallest = h;
        }
    });
    $("div").css("height", tallest);
});
举个例子


如果这不是您需要的,请详细说明您的问题。

您需要等待图像加载,否则将无法成功!谢谢Stef!很好的例子。我把那个些div连在一起,现在所有的东西都排好了。太好了——很高兴它起作用了。Robert下面的示例在实践中可能会更好,因为此事件在加载图像之前触发。您需要等待图像加载,否则它将不会占上风!谢谢Stef!很好的例子。我把那个些div连在一起,现在所有的东西都排好了。太好了——很高兴它起作用了。罗伯特下面的例子在实践中可能会更好,因为此事件在加载图像之前触发。Brilliant Mark。这正是我需要的。谢谢你抽出时间。爱你!没问题,很高兴我能帮上忙,我也爱我一些朋友!光辉的标记。这正是我需要的。谢谢你抽出时间。爱你!没问题,很高兴我能帮上忙,我也爱我一些朋友!