1

私はjavascriptとjQueryの完全な初心者であり、学ぼうとしています。このjQueryで切り替えられるテーブルがいくつかあります。

$(document).ready(function() {
    $('th').click(function() {
        $(this).parents('table').find('td').slideToggle("fast");
    });
});

一度に1つのテーブルのみを表示したいので、最初のテーブルを表示してから別のテーブルを表示すると、最初のテーブルが閉じます。ご指導をいただければ幸いです。ここに完全なコード:http://jsfiddle.net/qHGDF/1/

4

6 に答える 6

1

これを試して

  $('th').click(function() {
    $(".datagrid").children("table").find("td").slideUp();
    $(this).parents('table').find('td').slideToggle("fast");
  });
于 2013-03-14T14:17:16.630 に答える
1

開いているものを非表示にする必要があります。これを行う 1 つの方法は、表示して実行する必要がないすべての td を見つけることですslideUp(): http://jsfiddle.net/qHGDF/4/

$('th').click(function() {
    var thetd =  $(this).parents('table').find('td');
    $('table  td').not(thetd).slideUp("fast");
    $(thetd).slideToggle("fast");
});
于 2013-03-14T14:28:46.507 に答える
0

これを試すことができます: http://jsfiddle.net/5hDVS/

$(document).on('click','div.datagrid',function() {
     $('table td',this).slideToggle("fast");
     $('td',$(this).siblings('div.datagrid')).slideUp('fast');
});
于 2013-03-14T14:37:13.677 に答える
0

他のすべての td はいつでも上にスライドできます

$(document).ready(function() {
    $('th').click(function() {
        $("td").slideUp("fast");
        $(this).parents('table').find('td').slideToggle("fast");
    });
});
于 2013-03-14T14:17:56.923 に答える
0

そのためには、最初にすべての tds を非表示にする必要があります

var $ = jQuery.noConflict(true);
        $('th').click(function() {
            $('table  td').hide(300);
            $(this).parents('table').find('td').slideToggle("fast");
        });

フィドル

于 2013-03-14T14:18:20.137 に答える
0

テーブルにエントリが多すぎる場合、およびレンダリングの最適化のために、代わりに要素をスライドさせます。<tbody><td>

于 2013-03-14T14:32:12.867 に答える