我有一个有 2 列的表。每个<td>
元素都包含一个<div>
元素。如何设置<div>
元素的高度以填充所有者<td>
元素?
我也需要让它在 IE 中工作。
在此处检查jsfiddle。
这个怎么样:
$("div").each(function(){
$(this).height( $(this).parent.height() )
})
我假设您不想对每个td
and都这样做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')
只是一个想法,为什么不尝试在 td 中设置 td 而不是 div 的样式?
这就是我在这里所做的......