Селектор nth-child в jQuery не работает, так как я ожидаю, что он будет работать с приведенным ниже HTML. Возвращает 0 вместо (общее количество SELECT - 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 (ничего не поделаешь!); Я не использую таблицу для создания макета страницы.