带有表结构的jQuery的n-child(n + 2)问题

时间:2011-07-28 23:18:00

标签: jquery html internet-explorer-8 jquery-selectors css-selectors

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);
});

jsfiddle demo

jQuery 1.6.2; IE8(不能帮助它!);我没有使用表来创建页面布局。

1 个答案:

答案 0 :(得分:1)

如果您想要的只是每个选择元素,而第一个元素则只需使用select:gt(0)

:nth-child(n+2)不起作用的原因是因为select元素没有相同的父元素。 :nth-​​child取决于计算同一父母的孩子。

看看这个: http://jsfiddle.net/petersendidit/MvkUP/1/