我有一个表,该表显示的数据作为从动态内容,我想使表的宽度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';
 }

不过请注意,如果任何第一行中的单元具有合并单元格将无法正常工作。它简单地计算的列数的第一行中和设置基于该宽度。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top