如何克隆除表中标题行中的最后一列之外的每一列

时间:2015-02-10 14:33:29

标签: jquery html css

$(document).ready(function () {
    //Get the first tr
    var firstRow = $('.header');

    //Clone the first row
    firstRow.clone().attr('class', 'fixedHeader').prependTo('#ResultsTable');

    firstRow.find('th').each(function (i) {
        alert(i); //displays 0, 1, 2, 3, 4, 5, 6 (6th is the hidden column that I would like to not calculate)
        var thWidth = $(this).width();

        $('.fixedHeader th').eq(i).css({
            width: thWidth
        });
    });
});

我正在尝试克隆没有表的最后一列的第一行。我使用对用户隐藏的CSS类gLine隐藏了最后一列。 上面的脚本仍然使用隐藏列并计算导致克隆标题与表的其余部分不匹配的宽度:

enter image description here

HTML源代码为:

enter image description here

正如您所看到的,我只想从Show GuidelineSummary列,而不是计算最后一列,但我的代码也在计算最后一列。

如何不取最后一列,以便克隆的标题列与表格列匹配。

小提琴:http://jsfiddle.net/dmffgowf/(如您所见,有7个警告,这意味着它正在计算最后一列的宽度,使所有其他列变小)

2 个答案:

答案 0 :(得分:2)

试试这个:

firstRow.find('th:not(:last-child)')

而不仅仅是

firstRow.find('th')

答案 1 :(得分:0)

最后添加firstRow.remove('th:last-child');,应该这样做。由于您要按tr元素成员克隆整行,因此需要将其从clone中删除。

:last-child是一个非常具体的CSS选择器,应该是您正在寻找的。