jQuery的nth-child选择器没有工作,因为我希望它可以使用下面的HTML。它返回0而不是(总数SELECTs - 1)。如果我摆脱TABLE并只保留SELECT,它的工作正常。我注意到,如果我使用nth-child(n+1)
它是否保持TABLE结构,它工作正常。将警报代码移动到按钮单击事件不会改变任何内容。
<table>
<tr>
<td>
<select>
<option value=""></option>
<option value=""></option>
<option value=""></option>
</select>
</td>
<td>
<select>
<option value=""></option>
<option value=""></option>
<option value=""></option>
</select>
</td>
</tr>
</table>
和jQuery代码
$(document).ready(function() {
alert($("select:nth-child(n+2)").length);
});
jQuery 1.6.2; IE8(不能帮助它!);我没有使用表来创建页面布局。
答案 0 :(得分:1)
如果您想要的只是每个选择元素,而第一个元素则只需使用select:gt(0)
:nth-child(n+2)
不起作用的原因是因为select元素没有相同的父元素。 :nth-child取决于计算同一父母的孩子。