1

我有这个负责制作表格trth折叠的功能。但实际上我不想折叠所有表格列(th and tr)。我想是因为我正在使用$('tr th').click(function()所有的tr并且th正在崩溃。有什么办法可以排除某些列吗?不想动标题。。

$('tr th').click(function() {

    var index = (this.cellIndex + 1);
    var cells = $('table tr > :nth-child(' + index + ')');
    cells.toggleClass('collapsed');

    if ($(this).hasClass('collapsed')) {
        $(this).find('span').html('<b>+</b>');
    }
    else {
        $(this).find('span').html('<b>-</b>');
    }

    if ($('table tr > th:not(.collapsed)').length)
        $('table').removeClass('collapsed');
    else
        $('table').addClass('collapsed');
});
}); 

这是我的代码:jsfiddle.net/9QkVd/20

4

2 回答 2

3

要排除第一列(标题),您可以使用:

$('tr th:gt(0)').click(function() {
    ...
});

更新小提琴:http: //jsfiddle.net/9QkVd/22/

于 2013-09-29T10:09:21.100 回答
2

如果我正确地解释了您的问题,您需要一个可以折叠一些标题但不是全部的函数。看到这个小提琴

您需要做的就是稍微修改 .click 函数的选择器:

$('tr th.collapse').click(function() { ... }

并将一个类添加collapsible到您想要具有此功能的标题上。稍微改变一下你的CSS,这样你的标题就不会那么大了,你就完成了!

于 2013-09-29T10:09:39.400 回答