我的javascript有问题。点击 我有一个存储在TabList中的表格单元格列表 我想找到最大宽度,然后将此宽度设置为所有宽度。
这里有一个示例代码,但宽度的设置不起作用。

var MaxTabWidth = 0;
for (var i = 0; i < TabList.length-1; i++)
{
  if (TabList[i].offsetWidth>MaxTabWidth) 
    MaxTabWidth = TabList[i].offsetWidth;
}

for (var i = 0; i < TabList.length-1; i++)
{
  TabList[i].style.width = MaxTabWidth+"px";
  // TabList[i].width = MaxTabWidth+"px";
  // TabList[i].offsetWidth = MaxTabWidth+"px";
}

我评论了我的尝试..
有帮助吗?点击 没有为我做的伎俩...

<强>更新结果 我确定TabList是一个Cells列表,因为我正在检查className。点击 我循环到TabList.length-1,因为我希望最后一个单元格填充表格宽度的其余部分。

有帮助吗?

解决方案

我建议您从页面中删除所有css /样式并对其进行测试以隔离问题。像这样的事情通常会被css弄复杂。

其他提示

如果将整个表的宽度设置为--i * MaxTabWidth。这会平均分配列吗?假设您的表名为myTable。

document.getElementById('myTable').width = new String(--i*MaxTabWidth)

编辑:也不会

for (var i = 0; i < TabList.length-1; i++)

通过停在TabList.length-2?

跳过最后一列

对于它的价值,在jQuery中可以使用以下脚本完成,其中表的id为“myTable”。如果您对框架中添加的环境有足够的控制权,我会强烈推荐它,因为它可以使这些任务变得更加容易。

    var maxWidth = 0;

    $("#myTable td").each(function() {
        if ($(this).width() > maxWidth) {
            maxWidth = $(this).width();
        }
    });
    $("#myTable td").width(maxWidth);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top