我必须使用javascript渲染动态数据,javascript应显示为n行,m列。我听说过使用表格的不良影响,但我不能证明为什么我应该/不应该使用表格。您能否选择最佳实践来选择替代方案。我完全可以选择<ul>
,我如何让它看起来像桌子?
如果我使用表格,我无法为表格行设置动画。考虑到这一点,请提出替代方案。
答案 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,则可以为li
或tr
或其他任何内容设置动画。
以下是使用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)