[英]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.