动态地将元素的高度更改为另一个值

4

A列和B列
这里有两列,A列和B列。问题在于A列通常包含更多的内容,因此它的高度更高(在这种情况下为126px),而B列的内容较少,因此它保持较短(这里为94px)。现在我想让B列的高度等于A列的高度,考虑到A列的高度可能会通过AJAX动态改变,但为了跟上A列的变化,B列的高度也必须改变。
<div id="A">填充文本</div> | <div id="B">填充文本2</div> 现在我们可以使用jQuery或一些js来获取id#A元素的高度,并将其设置为#B,但当内容动态更改时,问题就出现了。

2个回答

6
$("#a").css("height", $("#b").css("height") );

这段代码可以放在回调函数中,例如:

$.ajax({
  ...
  success:function(msg){
    // could be optimized by storing off of the comparision
    if( $("#a").height() > $("#b").height() ){
      $("#b").css("height", $("#a").css("height") );
    }
  }
});

2
你可以这样做,但是正如我的编辑所说,如果你正在通过AJAX请求加载内容,那么直接从那里运行会更容易。或者你可以将其制作成自己的函数,并从.ready()和success中调用它。 - Josh
2
我会使用 $('#a').height($('#b').height())。同样的效果,但更短 :) 我想知道它是否更慢... - 700 Software
1
如果#a始终大于#b,那么这不会成为问题。只需记住,如果#b变得比#a更大,则此特定解决方案将无法使用。 - scurker
2
еҰӮжһңжҲ‘жІЎй”ҷзҡ„иҜқпјҢд»Јз Ғеә”иҜҘжҳҜ$("#b").css("height", $("#a").css("height") );гҖӮ - Suraj
1
@tunetosuraj:好的,处理完毕 :) - Josh
显示剩余4条评论

0

没有 JQuery:

var d = document;
d.getElementById("B").style.height = d.getElementById("A").offsetHeight;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接