【发布时间】:2014-04-29 13:59:56
【问题描述】:
我想找出一个 jQuery 选择器,它将为我提供 HTML 表中每一行的第一个 td。第一列,本质上。该解决方案必须在 IE8 中运行,因为很遗憾我需要支持该浏览器。
假设 HTML 表格如下所示:
<table id="tableID">
<tr>
<td>Cell 11</td><td>Cell 12</td><td>Cell 13</td>
</tr>
<tr>
<td>Cell 21</td><td>Cell 22</td><td>Cell 23</td>
</tr>
<tr>
<td>Cell 31</td><td>Cell 32</td><td>Cell 33</td>
</tr>
</table>
因此,预期的最终结果是一个 jQuery 对象,其中仅包含包含文本“Cell 11”、“Cell 21”和“Cell 31”的 td。
还假设这个变量初始化:
var theTable = $('#tableID');
我看到的基于 jQuery 选择器的最佳解决方案是:
var firstCol = theTable.children('td:first-of-type');
但是,IE8 不支持 :first-of-type 伪类。
我尝试使用 :first-child 代替,但它似乎选择了每个 tr 中的文本节点而不是 td。我的意思是输入的 HTML 中的换行符和制表符。
显然,我可以通过像循环这样的解决方法来解决这个问题,或者通过向我正在寻找的每个 td 添加一个类或 id,但这不是重点。
【问题讨论】:
-
你忘了IE8怎么样 ;)
-
我很想忘记 IE8
标签: jquery html jquery-selectors html-table