1

私は、テーブルを作成して折りたたむ責任があるこの機能を持っていtrますth。しかし実際には、すべてのテーブルの列を折りたたむ必要はありません(th and tr)。私が使っているからだと思いますが、$('tr th').click(function()すべてが崩壊しています。一部の列を除外する方法はありますか? タイトル動かしたくない…trth

$('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

2

私があなたの質問を正しく解釈している場合、すべてではなく一部のヘッダーを折りたたむ関数が必要です。このフィドルを参照してください。

.click 関数のセレクターを少し変更するだけです。

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

collapsibleこの機能を持たせたいヘッダーにクラスを追加します。タイトルがそれほど大きくならないように CSS を少し変更すれば完了です。

于 2013-09-29T10:09:39.400 に答える