3

我有 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 是单元格列表,因为我正在检查类名。
我正在循环直到 TabList.length-1,因为我希望最后一个单元格填充表格的其余部分宽度。

4

3 回答 3

4

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

于 2009-05-01T09:02:40.683 回答
1

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

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

编辑:也不会

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

通过在 TabList.length-2 处停止来跳过最后一列?

于 2009-04-30T15:59:24.060 回答
0

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

    var maxWidth = 0;

    $("#myTable td").each(function() {
        if ($(this).width() > maxWidth) {
            maxWidth = $(this).width();
        }
    });
    $("#myTable td").width(maxWidth);
于 2009-04-30T16:07:37.300 回答