jQuery 的 nth-child(n+2) 表结构问题
jQuery 的 nth-child 选择器无法正常工作,因为我希望它能与下面的 HTML 一起工作。它返回 0 而不是(SELECT 总数 - 1)。如果我去掉表并只保留 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(没办法!);我没有使用表格来创建页面布局。
The jQuery's nth-child selector isn't working as I expect it to work with the below HTML. It returns 0 instead of (total number SELECTs - 1). It works just fine if I get rid of the TABLE and keep only SELECTs. I noticed that it works fine if I use nth-child(n+1)
whether I keep the TABLE structure or not. Moving the alert code to a button click event didn't change anything.
<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>
and jQuery code
$(document).ready(function() {
alert($("select:nth-child(n+2)").length);
});
jQuery 1.6.2; IE8 (can't help it!); I'm not using table to create page layout.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您想要的只是除第一个之外的每个选择元素,则只需使用
select:gt(0)
原因
:nth-child(n+2)
不起作用是因为选择元素没有相同的父元素。 :nth-child 取决于计算同一父项的子项。看看这个:
http://jsfiddle.net/petersendidit/MvkUP/1/
If all you want is every select element but the first one then just use
select:gt(0)
The reason
:nth-child(n+2)
doesn't work is because the select elements do not have the same parent. :nth-child depends on counting children of the same parent.Take a look at this:
http://jsfiddle.net/petersendidit/MvkUP/1/