【发布时间】:2010-11-09 14:00:30
【问题描述】:
我有一个表格列,我正在尝试展开和隐藏。当我通过class 选择它而不是通过元素的name 选择它时,jQuery 似乎隐藏了<td> 元素。
例如:
$(".bold").hide(); // Selecting by class works.
$("tcol1").hide(); // Selecting by name does not work.
注意下面的 HTML。第二列的所有行都具有相同的name。如何使用name 属性创建此集合?
<tr>
<td>data1</td>
<td name="tcol1" class="bold"> data2</td>
</tr>
<tr>
<td>data1</td>
<td name="tcol1" class="bold"> data2</td>
</tr>
<tr>
<td>data1</td>
<td name="tcol1" class="bold"> data2</td>
</tr>
【问题讨论】:
-
问题与内容不匹配。 ID和名称是不同的属性,选择的方式也不同
-
拥有相同ID的元素是违反W3C标准的;即重复的 ID 是不可以的。
-
CSS specification 包含一个新的列组合器,因此如果您有
<colgroup><col class="firstColumn"/><col class="secondColumn"/></colgroup>,很快您就可以简单地选择document.querySelectorAll("td || col.secondColumn")。
标签: javascript jquery html dom jquery-selectors