我应该使用或<ul>?</ul> <table> </table>

时间:2010-02-10 07:09:08

标签: html css

我必须使用javascript渲染动态数据,javascript应显示为n行,m列。我听说过使用表格的不良影响,但我不能证明为什么我应该/不应该使用表格。您能否选择最佳实践来选择替代方案。我完全可以选择<ul>,我如何让它看起来像桌子?

如果我使用表格,我无法为表格行设置动画。考虑到这一点,请提出替代方案。

6 个答案:

答案 0 :(得分:9)

您不应该将表用于布局。将表用于表格数据是完全合理的。如果你有“n行”和“m列”,这听起来很像表格数据,使用<table>是合适的。

就“动画”表行而言,如果你的意思是使用javascript动态添加和删除表中的行,则支持。请参阅DOM Reference for table methods。它支持insertRow()deleteRow()等操作。

答案 1 :(得分:4)

表格用于表格数据,当您将它们用于布局目的时,表格很糟糕。在您的情况下,您可以使用表格,因为您想要显示一些数据,我想知道如何不能为表格行设置动画?感谢

参见 W3C的Tables in HTML Documents

答案 2 :(得分:2)

这是Web开发人员头脑中非常常见的两难问题。实际上使用表格有时可以轻松创建网页,但在尝试修改或编辑网页时却非常困难。表只应用于创建表格数据,如数据网格或表格列表中的列表。对正确的布局使用正确的标记可以为网页提供很多语义感,并使其更具可读性。您可以查看以下链接,以了解有关语义HTML的重要性的更多信息。

http://www.communitymx.com/content/article.cfm?cid=0BEA6 http://www.thefutureoftheweb.com/blog/writing-semantic-html

答案 3 :(得分:1)

您问题的第一句话描述了表格,因此您应将其呈现为表格。

是否需要动画 行?

答案 4 :(得分:0)

表格是正确的选择。

如果您使用jQuery,则可以为litr或其他任何内容设置动画。

以下是使用jQuery删除行的示例:

close_timeout = setTimeout(function() { 
    $("tr#row_"+id).css("background","red");
    $("tr#row_"+id).animate({ opacity: 'hide' }, "slow");           
}, 600);
$("tr#row_"+id).remove();

这会将背景更改为红色,隐藏tr,然后将其从DOM中删除。

我希望这会有所帮助。

答案 5 :(得分:0)

这是数据。使用表格。

尝试使用此jQuery插件格式化表格:

http://tablesorter.com/docs/