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); 

行的内容会发生变化,但不会折叠。我正在使用 Firebug 来查看display:none正在插入的内容。还有什么我想念的吗?

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 回答