使用这样的表:
<table>
<thead>
<tr><td>1</td></tr>
</thead>
<tbody>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
<tr><td>4</td></tr>
<tr><td>5</td></tr>
</tbody>
</table>
我尝试从所有行(包括 THEAD 中的行)中说第 3 行,如下所示:
table.querySelector("tr:nth-of-type(3)");
我得到第 4 行。此外,使用 5 作为:nth-of-type的值返回 null。使用 4 返回最后(第五)行。碰巧缺少 TBODY 的第一行(值 1 返回 THEAD 中的行)。
这是一个 IE 错误还是我做错了什么?顺便说一下,我的环境是 WinJS,它使用 IE 10 作为其 JavaScript 引擎。
我仔细检查了:nth-of-type是基于 1,而不是基于 0。我与:nth-child有完全相同的结果。