Html 放一个表行在语义上正确吗<;tr>;内部<;a>;标签?

Html 放一个表行在语义上正确吗<;tr>;内部<;a>;标签?,html,semantics,Html,Semantics,此表包含关于某一组元素的数据,我希望该行的每个字段或所有行都允许用户访问每个元素的详细信息。问题是我不知道如何继续,我也: 将整行放入一个: 因此,我认为使用表格是正确的,但每个用户都有3个以上的相关信息字段,因此我会使用一个链接来访问每个用户的详细信息(15个以上的字段),否则这些信息将无法在表格的一行上显示(例如,2048个以上字符的“注释”字段);这就是为什么我想到了显示每个用户详细信息的链接。当然,我不在乎整行是否可以单击,我只想通过不必将每个字段的所有数据包围到中来稍微清除代码。另一种

此表包含关于某一组元素的数据,我希望该行的每个字段或所有行都允许用户访问每个元素的详细信息。问题是我不知道如何继续,我也:

将整行放入一个

因此,我认为使用表格是正确的,但每个用户都有3个以上的相关信息字段,因此我会使用一个链接来访问每个用户的详细信息(15个以上的字段),否则这些信息将无法在表格的一行上显示(例如,2048个以上字符的“注释”字段);这就是为什么我想到了显示每个用户详细信息的链接。当然,我不在乎整行是否可以单击,我只想通过不必将每个字段的所有数据包围到
中来稍微清除代码。另一种解决方案是创建一个额外的单元格,专门保存指向用户详细信息的链接,如下所示:

+----+------+-------+-------------------------+
| Id | Name | Score |         Options         |
+----+------+-------+-------------------------+
| 1  | Foo  | 10    | (detail) (misc. option) |
| 2  | Bar  | 8     | (detail) (misc. option) |
| 3  | Baz  | 5     | (detail) (misc. option) |
| …  | …    | …     | …                       |
| n  | Zzz  | 0     | (detail) (misc. option) |
+----+------+-------+-------------------------+

但我不知道根据任何用户体验指南,这是否也合适(在这种情况下,我认为它没有任何语义规则严格,是一个更合理的解决方案)。当然,对于每个不同的选项,我会在同一字段(表格单元格)中包含几个
,但我认为这并不违反任何语义规则。

您的第二个选项是语义正确的方法。如果您要做的只是向表中添加锚元素,那么您可能一开始就不需要该表。您可以将它们添加到两个单独的跨距中表< /C>元素之外的其他东西。p> 如果将链接应用于
元素,则单击行上的任何位置将用户发送到该链接。这包括非表格单元格的空间,如单元格边框

这同样适用于
元素。将其置于内部仅链接文本,将其置于外部则链接整个元素

<a href=""> <td></td> </a>  //Links whole cell
<td> <a href=""></a> </td>  //Only links text inside <a>
//链接整个单元格

//只有第一个代码中的链接文本是无效的标记,因为
只能是
的子代码。您可以使用第二个代码,但我建议使用一些JavaScript,如下所示:

+----+------+-------+-------------------------+
| Id | Name | Score |         Options         |
+----+------+-------+-------------------------+
| 1  | Foo  | 10    | (detail) (misc. option) |
| 2  | Bar  | 8     | (detail) (misc. option) |
| 3  | Baz  | 5     | (detail) (misc. option) |
| …  | …    | …     | …                       |
| n  | Zzz  | 0     | (detail) (misc. option) |
+----+------+-------+-------------------------+
for(i=0;i

文本和内容
第一个是无效的标记。。因此,不,第二个是最好的选择。如果您希望能够单击表行,则需要使用Javascript向其添加一个单击侦听器。@tymeJV我最近读到了Puting block level()根据HTML5,元素现在在语义上是正确的,它给出了关于
和其他元素的示例,但没有给出关于
的示例。(信息在此)[.@Barmar我更喜欢远离js,因为我正在关注不引人注目的javascript开发。
s不是块级元素,所以它不起作用。事实上,
元素将由HTML解析器从表中弹出。表中包含一组“用户”的数据,每一行都是指向用户详细信息的链接。因此我认为这是正确的为了使用一个用于用户概述的表,连接整个行的想法(不仅仅是名称)是每个字段都与同一个用户有关(我会考虑包括一个额外的字段,专门用来保存一个链接到用户的详细信息)。一个常见的习惯用法是只链接自己的列,或者有一个显式的“按钮”对于细节。“javascript”路线可能对您有意义。我知道每个配置的效果,问题是哪一个在语义上是正确的,但我想我已经得到了一个答案。如果这回答了您的问题,那么应用于整个表行在语义上是不正确的。建议使用JavaScrip但是,第二个选项无法与某些浏览器事件(例如,在新选项卡中单击鼠标中键、按住ctrl键并单击或其他行为)正确集成。可能与此类似?
+----+------+-------+-------------------------+
| Id | Name | Score |         Options         |
+----+------+-------+-------------------------+
| 1  | Foo  | 10    | (detail) (misc. option) |
| 2  | Bar  | 8     | (detail) (misc. option) |
| 3  | Baz  | 5     | (detail) (misc. option) |
| …  | …    | …     | …                       |
| n  | Zzz  | 0     | (detail) (misc. option) |
+----+------+-------+-------------------------+
<a href=""> <td></td> </a>  //Links whole cell
<td> <a href=""></a> </td>  //Only links text inside <a>
<table>
    <tr onclick="window.location.replace='...'"></tr>
</table>