我的DOM如下:http://jsfiddle.net/pimvdb/AHJXk/1/。第n個孩子和後代選擇器沒有選擇所有預期的元素
<table>
<tr>
<td>
<input type="text"><input type="text">
</td>
<td>
<input type="text"><input type="text">
</td>
</tr>
<tr>
<td>
<input type="text"><input type="text">
</td>
<td>
<input type="text"><input type="text">
</td>
</tr>
</table>
我想在每個tr
的第二td
,即總共四個選擇所有input
秒。我想下面的選擇將工作:
$('table tr td:nth-child(2) input')
但它只返回每個第二td
(共2)的第一input
。這是爲什麼?如果我做的:
$('table tr td:nth-child(1) input')
話,我確實得到所有input
s各自第一td
(共四個)的。
那麼爲什麼:nth-child(2)
不是全部返回input
s,而只是第一個匹配td
?
嘗試在其他瀏覽器。恭喜 - 您發現了一個webkit bug!它適用於Firefox,Opera和IE,但不適用於Chrome。 –
@jamietre:這確實是我正在使用的Chrome。事實上,我現在發現它*有時可以工作,有時*不會。這很奇怪......無論如何,在CSS中使用它總是如此,所以猜測它確實是某種錯誤。謝謝! – pimvdb
強迫Sizzle選擇修復錯誤(如預期),所以我會提交一個錯誤報告,我猜。 http://jsfiddle.net/pimvdb/AHJXk/4/ – pimvdb