2

データが含まれていない場合、テーブルの行を折りたたもうとしています。行は JQuery スクリプト内から変更されます。テーブルを HTML 内に配置すると、それらが折りたたまれることがわかります。多くの行を作成し、display:blockordisplay:noneを使用して行を折りたたんだり、期待どおりに表示したりできます。マークアップは次のとおりです。

<table style="border-collapse:collapse;">
    <tr style="display:block;">
        <td id="someid">Test</td>
        <td>Some text</td>
    </tr>
</table>

を変更するために使用しているコード例を次に示します<tr>

var newtr = "<tr style='display:none;'><td id='someid'></td><td></td></tr>"
$("td#someid").parent().replaceWith(newtr); 

行の内容は変更されますが、折りたたまれません。display:none挿入されていることを確認するために Firebug を使用しています。私が見逃しているものは他にありますか?

4

2 に答える 2

4

なぜ追加しないのですかhide()

$("td#someid").parent().replaceWith(newtr).hide();

作業例はこちら

于 2012-06-26T12:23:29.577 に答える
1

tr;を置き換える代わりに フィールドをクリアして行を非表示にする場合は、単純に行を非表示にしてからセルをクリアすることをお勧めします。次のような方法でうまくいくはずです。

// this will explicitly set the CSS display property to none and clear the children
$('td#someid').parent().css('display', 'none').children('td').each(function()
{
    $(this).text('');
});

// or you could hide the parent and then clear the children
$('td#someid').parent().hide().children('td').each(function()
{
    $(this).text('');
});
于 2012-06-26T12:24:19.577 に答える