0

我应该使用什么 HTML 属性来命名我想通过 Javascript 处理的 HTML 元素。例如,如果我可以使用name

<table id="some_table">
  <tr>
    <th name="date">Date</td>
    <th name="time">Time</td>
    <th name="name">Name</td>
  </tr>
  <tr>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td></td>
    <td></td>
    <td></td>
  </tr>
</table>

我可以像这样使用 jQuery 选择它们:

$('#some_table th[name=time]')

但是,这是无效的,name因为td. id必须是唯一的,所以我也不能使用它。class如果有 CSS 类,可能会影响样式.time。也许像data-name什么?首选方式是什么?

4

2 回答 2

2

要扩展我的评论,您不需要“为 td 提供一些带有列名的属性”。标准方法是从列名中获取列索引,然后使用该索引检索所有 td。

例如,如果时间是第二列(索引 1),则所有时间 tds 都是:

getElementById("some_table").rows[i].cells[1]

(JavaScript 有遍历表的原生方法)

于 2012-11-18T06:33:11.087 回答
0

您可以通过它们的 id 值、它们的名称、它们的 tagName、它们与其他元素的接近度、它们的任何值,甚至通过选择器字符串来选择元素。没有单一的首选方法;这一切都取决于你想要做什么。

在您的情况下,您可以根据需要通过索引选择表格行和单元格。正如您所指出的,您还可以使用数据属性 - 任何一种方法都会呈现您想要的结果,这是一种访问元素的方式。

于 2012-11-18T06:13:11.080 回答