JQuery-如何动态地将一个div的高度设置为另一个div的高度

JQuery-如何动态地将一个div的高度设置为另一个div的高度,jquery,css,Jquery,Css,我有两个div,.box-1和.box-2 我想将两者的高度设置为等于高度较大的值 有人能告诉我为什么这个代码不起作用吗 var $box1Height = $('.box-1').height(); var $box2Height = $('.box-2').height(); if ($box2Height > $box1Height) { ($box1Height).height($box2Height) } else { ($box2Height).height(

我有两个div,
.box-1
.box-2

我想将两者的高度设置为等于高度较大的值

有人能告诉我为什么这个代码不起作用吗

var $box1Height = $('.box-1').height();
var $box2Height = $('.box-2').height();

if ($box2Height > $box1Height) {
    ($box1Height).height($box2Height)
} else {
    ($box2Height).height($box1Height)
}

要更新的元素是
$(.box-1”)
$(.box-2”)
。您没有更新它们,而是获取了它们的高度值,并尝试更新其高度值的高度值(类似于:
$(“.box-1”).height().height(new_值);
,这显然不存在。比较结果不错,但更新的元素不正确

您可以只获取元素
$('.box-1')
,而不是获取
$('.box-1').height();
,并使用它

像这样:

var box1 = $('.box-1');
var box2 = $('.box-2');
现在我们有了元素本身,让我们来处理它的属性。要获得元素的高度,请使用:

box1.height();
要将新值设置为此
height
属性,请使用:

box1.height(new_value);
总而言之:

var box1 = $('.box-1');
var box2 = $('.box-2');
if (box1.height() > box2.height()) {
    box1.height(box2.height())
} else {
    box2.height(box1.height())
}

要更新的元素是
$(“.box-1”)
$(“.box-2”)
。您没有更新它们,而是获取它们的高度值,并尝试更新它们的高度值的高度值(类似于:
$(.box-1”).height().height(新值);
,这显然不存在。比较结果很好,但更新的元素不正确

您可以只获取元素
$('.box-1')
,而不是获取
$('.box-1').height();
,并使用它

像这样:

var box1 = $('.box-1');
var box2 = $('.box-2');
现在我们有了元素本身,让我们来处理它的属性。要获得元素的高度,请使用:

box1.height();
要将新值设置为此
height
属性,请使用:

box1.height(new_value);
总而言之:

var box1 = $('.box-1');
var box2 = $('.box-2');
if (box1.height() > box2.height()) {
    box1.height(box2.height())
} else {
    box2.height(box1.height())
}

通过使用,您可以获得两个框中的最大高度,无需使用if语句。然后只需将两个框的高度都设置为
.max()

下面是一个工作示例

$(函数(){
//缓存框选择器
变量box1=$('.box1')
变量box2=$('.box2')
//确定哪个盒子更高
var maxHeight=Math.max(box1.height(),box2.height())
//将最高高度应用于两个
框1.高度(最大高度)
框2.高度(最大高度)
})
.box1{
显示:内联块;
高度:100px;
宽度:50px;
背景:矢车菊蓝;
}
.box2{
显示:内联块;
高度:50px;
宽度:50px;
背景:丽贝卡紫;
}

框1

box2
您可以通过使用获得两个框中的最大高度,无需使用if语句。然后只需将两个框的高度都设置为
.max()

下面是一个工作示例

$(函数(){
//缓存框选择器
变量box1=$('.box1')
变量box2=$('.box2')
//确定哪个盒子更高
var maxHeight=Math.max(box1.height(),box2.height())
//将最高高度应用于两个
框1.高度(最大高度)
框2.高度(最大高度)
})
.box1{
显示:内联块;
高度:100px;
宽度:50px;
背景:矢车菊蓝;
}
.box2{
显示:内联块;
高度:50px;
宽度:50px;
背景:丽贝卡紫;
}

框1

box2
为什么不使用CSS?尝试摆脱围绕“($box1Height)”和“($box2Height)”的偏执。@PoulBak这些都不重要(除非是代码样式)。我之前的评论中有一个bug。缺少“你”。为什么不使用CSS呢?尝试摆脱围绕“($box1Height)”和“($box2Height)”的偏执“.@PoulBak这些都无所谓(除非是代码风格),我之前的评论中有一个bug。缺少“你”。我会添加一个解释来解释为什么会这样做,尽管这很明显(他是在更新变量值而不是DOM元素属性)。@JoshuaMcNabb解释插入:)我想添加一个解释来解释为什么这样做有效,尽管这很明显(他是在更新变量值而不是DOM元素属性)。@JoshuamcnabExploration insert:)