HTML-将id作为数字的替代方案?

HTML-将id作为数字的替代方案?,html,Html,我想得到一些关于如何最好地处理我的情况的意见 我想为每个表行()存储一个数字id,但我意识到为创建一个数字id不是一个好的做法。除了将id存储为列字段外,还有其他方法存储表行的id/number值吗 基本上,当您单击表行时,它会将您带到另一个页面,该页面根据id从数据库加载数据。您可以使用数据-。正如在中,这不是“不好的做法”;它实际上并不违法,除非你使用的是HTML5,而HTML5更为宽容。但是,出于兼容性原因,不应以数字开头ID 您有两种选择:自定义数据属性或自定义属性。首选较早的,因为后者

我想得到一些关于如何最好地处理我的情况的意见

我想为每个表行()存储一个数字id,但我意识到为创建一个数字id不是一个好的做法。除了将id存储为列字段外,还有其他方法存储表行的id/number值吗


基本上,当您单击表行时,它会将您带到另一个页面,该页面根据id从数据库加载数据。

您可以使用
数据-
。正如在

中,这不是“不好的做法”;它实际上并不违法,除非你使用的是HTML5,而HTML5更为宽容。但是,出于兼容性原因,不应以数字开头ID

您有两种选择:自定义数据属性或自定义属性。首选较早的,因为后者生成无效的HTML。例如:

<tr customattribute="1"> <!-- not a good idea -->
<tr data-custom-attr="1"> <!-- Better idea/preferred way -->
$('selector').data('custom-attr');

您可以使用HTML5
data-*
属性将相关数据存储到元素中。所以在你的情况下,应该是这样的:

<tr data-id="6"> .. </tr>
我的表在上面。例如:

<tr data-id="1"> </tr>
<tr data-id="2"> </tr>
......................
<tr data-id="N"> </tr>

您可以将号码存储在隐藏的td中

HTML

您单击一行,使用jQuery.find找到该数字,然后将该数字传递给脚本

或者可以使用jQuery.data()语句,并将数字与特定行或tds关联。 在“单击”特定元素时,读取数据语句并将其传递给脚本


我敢打赌还有很多其他的方法来处理这个问题。

但是
customattribute
不是有效的HTML。这就是
data-*
所创建的内容。我修改了我的答案,使之不至于如此。谢谢大家的意见。我觉得不知道数据自定义属性很傻。为什么你说“Id不能以数字开头”,链接到规范中明确表示可以的部分?@Alohci我链接到了错误的规范。在HTML5出现之前,Id名称不能以数字开头。HTML5有一个更宽松的规范。
<tr data-id="1"> </tr>
<tr data-id="2"> </tr>
......................
<tr data-id="N"> </tr>
$('tr').each(function(){
   var id = $(this).data('id');
   //...
});
<table>
  <tr><td class='hideme'>123</td><td>Visible stuff</td></tr>
  <tr><td class='hideme'>124</td><td>Visible stuff</td></tr>
  <tr><td class='hideme'>125</td><td>Visible stuff</td></tr>
</table>
.hideme {
  display: none;
}