Javascript 如何获得最大值<;李>;宽度从<;ul>;对于每一个“;栏「; 简介

Javascript 如何获得最大值<;李>;宽度从<;ul>;对于每一个“;栏「; 简介,javascript,jquery,html,css,Javascript,Jquery,Html,Css,你好 我有一张表格,上面列着这样的清单 如您所见,我添加了getMaxLiWidth(),以实现最大的宽度 之前 #|名称|额外 1|这是一个非常大的名字|Extra 我想要什么 #|名称|额外 1|这是一个非常大的名字|Extra 我得到了什么 #|名称|额外 问题: 如何更改我的getMaxLiWIdth()以获得每个“列”的最大宽度?您需要在此处为每个列设置不同的格式。只需尝试CSS,您需要为最宽列中的所有列表项设置CSS。首先,您必须标识最宽的列,然后返回最大宽度,然后将其用作选择器的一

你好

我有一张表格,上面列着这样的清单

如您所见,我添加了
getMaxLiWidth()
,以实现最大的
  • 宽度

    之前
    #
    |
    名称
    |
    额外

    1
    |
    这是一个非常大的名字
    |
    Extra

    我想要什么
    #
    |
    名称
    |
    额外

    1
    |
    这是一个非常大的名字
    |
    Extra

    我得到了什么
    #
    |
    名称
    |
    额外

    问题:
    如何更改我的
    getMaxLiWIdth()
    以获得每个“列”的最大宽度?

    您需要在此处为每个列设置不同的格式。只需尝试CSS,您需要为最宽列中的所有列表项设置CSS。首先,您必须标识最宽的列,然后返回最大宽度,然后将其用作选择器的一部分

    function getMaxLiWidth() {
        var maxWidth = 0;
        var column = 0;
        $('li').each(function() {
            if (this.offsetWidth > maxWidth) {
                maxWidth = this.offsetWidth;
                column = $(this).index();
                console.log(column);
            }
        });
        return [maxWidth,column];
    }
    
    $(function() {
    
        var arr = getMaxLiWidth();
        $('li:nth-child(' + (arr[1] + 1) + ')').each(function() {
            $(this).css({
                'width': arr[0]
            });
        });
    });
    

    下面是一个演示:

    为什么不使用实际的表标记?@user1721135因为固定标题在IE7i中不起作用,所以在这种情况下,我会使用seperate表作为标题。不确定您试图用getmaxwidth做什么。。。我想你不需要任何js和表检查这个单独的表是一个更好的解决方案。使用JavaScript进行样式设计从来都不是一个好主意。我不知道我的内容会有多大。所以CSS宽度我不能使用。这很好,但在这种情况下你可以使用%,如果我使用%,我需要知道我有多少列。但我不知道,因为内容是动态的。我认为getMaxLiWIdth()函数在这里不起作用。如果所有列都是动态的,则需要使用XML和XSLT或任何其他选项。