Html 我应该使用DIV还是TABLE?

Html 我应该使用DIV还是TABLE?,html,css,tabular,Html,Css,Tabular,我需要建立一个简单的数据表。所以通常我会说,让我们使用表格,这就是它们的用途 然而,这里有一个额外的小技巧,就是如果你点击“show”,下面会有一个ajax调用来显示额外的数据。这让我想知道,我应该换成div吗 我知道这两种方法都是可能的,但我想看看什么更干净更容易 (此处数据为假)使用表格显示表格数据。对结构使用div。这是表格数据,所以请使用表格。标记用于表格数据。表格数据就是你所拥有的。因此,继续,使用表格应该很好。您可以回答自己的问题-数据是表格,具有水平和垂直关系,因此语义正确的标记

我需要建立一个简单的数据表。所以通常我会说,让我们使用表格,这就是它们的用途

然而,这里有一个额外的小技巧,就是如果你点击“show”,下面会有一个ajax调用来显示额外的数据。这让我想知道,我应该换成div吗

我知道这两种方法都是可能的,但我想看看什么更干净更容易


(此处数据为假)

使用表格显示表格数据。对结构使用div。这是表格数据,所以请使用表格。

标记用于表格数据。表格数据就是你所拥有的。因此,继续,使用表格应该很好。

您可以回答自己的问题-数据是表格,具有水平和垂直关系,因此语义正确的标记肯定是一个
表格。预期的用户界面决不应考虑语义选择

通过在已单击的具有正确数据的元素下方插入一个新的
tr
元素,可以轻松、正确地实现show按钮

考虑到原始标记如下:

<tr>
    <td>1</td>
    <td>Orlando</td>
    <td>Gee</td>
    <td>phone number</td>
    <td><button>show</button></td>
</tr>

1.
奥兰多
哇
电话号码
显示
然后,您可以在JS中追加所需的新行,每个属性一行:

<tr class="otherbg-and-bold">
    <td></td>
    <td colspan="2">email address</td>
    <td colspan="2">sample@company.tld</td>
</tr>

电子邮件地址
sample@company.tld

这是表格数据,因此表格会更好。没有什么可以阻止您轻松使用表格,只需在您单击的行下隐藏并显示两行,其中一行是
colspan=3
列,另一行是
colspan=2
蓝色背景。由于HTML5,您甚至不需要使用
div
进行结构,有一些很棒的标签,比如
nav
页眉
页脚
,最重要的是
部分
div
只是“未进一步指定内容”的通用基本元素。@Niels我知道,但我认为这个问题不需要我们教授HTML5,他在询问表格或div。不想提供太多信息。如果您还解释了如何使用
colspan
实现与示例图片中相同的布局,我可以向表格添加另一个+1。但是我可以将这些行动态添加到表格中吗?我不能仅仅隐藏它们,数据来自ajax调用……如果您可以进行ajax调用,那么您可以在运行时创建一个新的
元素,并用ajax调用的结果填充它。实现这一点的方法有一百万种,具体取决于您选择的服务器和JS库。我自己只需执行一个JSON调用,请求一个属性/值对数组,并在Mootools中生成所有HTML。但是仅仅获取两行的整个HTML也可以很好地工作。@nute
tbody
方法。确保不要把它们放在窝里。