jQuery的问题';具有表结构的第n个子项(n+;2)
jQuery的第n个子选择器不能像我期望的那样与下面的HTML一起工作。它返回0而不是(总数选择-1)。如果我去掉表格,只保留选择项,效果会很好。我注意到,无论是否保留表结构,如果使用jQuery的问题';具有表结构的第n个子项(n+;2),jquery,html,internet-explorer-8,jquery-selectors,css-selectors,Jquery,Html,Internet Explorer 8,Jquery Selectors,Css Selectors,jQuery的第n个子选择器不能像我期望的那样与下面的HTML一起工作。它返回0而不是(总数选择-1)。如果我去掉表格,只保留选择项,效果会很好。我注意到,无论是否保留表结构,如果使用nth child(n+1)都可以正常工作。将警报代码移动到按钮单击事件不会改变任何内容 <table> <tr> <td> <select> <option value="">
nth child(n+1)
都可以正常工作。将警报代码移动到按钮单击事件不会改变任何内容
<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 1.6.2;IE8(情不自禁!);我没有使用table来创建页面布局。如果您只需要每个select元素,而不是第一个元素,那么只需使用
select:gt(0)
第n个子元素(n+2)不起作用的原因是所选元素没有相同的父元素:第n个子项取决于计算同一父项的子项
看看这个:
谢谢大卫,这正是我用来解决这个问题的方法。我问这个问题是想知道为什么第n个孩子(n+2)不工作。@Lobo我更新了我的答案来说明为什么
:第n个孩子不工作谢谢先生。答案总是在问题里——孩子!我更新了小提琴,我想它解释得更好。
$(document).ready(function() {
alert($("select:nth-child(n+2)").length);
});