0

我有一个有 2 列的表。每个<td>元素都包含一个<div>元素。如何设置<div>元素的高度以填充所有者<td>元素?

我也需要让它在 IE 中工作。

在此处检查jsfiddle

4

3 回答 3

0

这个怎么样:

$("div").each(function(){
    $(this).height( $(this).parent.height() )
})
于 2012-07-30T18:19:35.320 回答
0

我假设您不想对每个tdand都这样做div

var calculatedHeight = $('#someTD').innerHeight();

$('#innerDiv').height(calculatedHeight);

为了更通用,您还可以使用类和 SnowBlind 答案的组合,如下所示。

$('.someDiv').each(function(){
    var heightToSet =  $(this).parent.innerHeight();
    $(this).height(heightToSet);
});

更新:当您更新单元格(通过 ajax 或但是)并重复上述操作时,您需要有一个自定义事件。但仅限于那个细胞。

$('table').delegate('td', 'onCellUpdate', function(){
     // a td triggered this, do something
});

和..

.trigger('onCellUpdate')
于 2012-07-30T18:20:38.087 回答
0

只是一个想法,为什么不尝试在 td 中设置 td 而不是 div 的样式?

这就是我在这里所做的......

于 2012-07-30T18:23:19.733 回答