题
我有一个表,该表显示的数据作为从动态内容,我想使表的宽度100%强>当有6个COLS。和表的宽自如果5周的cols以下。
我试图与CSS但是,当存在只有两个COLS,它扩大2个COLS完整宽度,同时具有表100%的宽度和看起来很笨拙。
是否有任何JavaScript,jQuery脚本可供得到这样的结果?
解决方案
使用jQuery和确保您选择在表体的情况下的THEAD具有不同的布局的第一行。
function setTableWidth(tableId) {
var $tbl = $('#'+tableId);
var newWidth = $tbl.find('tbody>tr:eq(0)>td').length > 5 ? '100%' : 'auto';
$tbl.width(newWidth)
}
其他提示
根据您如何加载动态内容,有可能是一个更简单的方法,但这种功能应该做你所需要的:
function setTableWidth(tableId) {
myTable = document.getElementById('tableId');
if (myTable.getElementsByTagName('tr')[0].getElementsByTagName('td').length > 5)
myTable.style.width = '100%';
else
myTable.style.width = 'auto';
}
不过请注意,如果任何第一行中的单元具有合并单元格将无法正常工作。它简单地计算的列数的第一行中和设置基于该宽度。
不隶属于 StackOverflow