繁体   English   中英

为Javascript访问命名HTML元素的属性是什么

[英]What attribute to name HTML elements for Javascript access

我应该使用什么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]')

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

要扩展我的注释,您不需要“为td赋予一些带有列名称的属性”。 标准方法是从列名中获取列索引,然后使用此索引检索所有tds。

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

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

(JavaScript具有遍历表的本​​机方法)

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM