如何使用jQuery根据最高的div均衡表中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
<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。这正是我需要的。谢谢你抽出时间。爱你!没问题,很高兴我能帮上忙,我也爱我一些朋友!光辉的标记。这正是我需要的。谢谢你抽出时间。爱你!没问题,很高兴我能帮上忙,我也爱我一些朋友!