Вы используете eq
:
$('ul li').eq(X);
Где X - это индекс на основе 0 того элемента, который вы хотите. Вы также можете использовать форму выбора :
$('ul li:eq(X)');
И вы также можете достичь аналогичного результата, используя nth-child
:
$('ul li:nth-child(X)');
В документации говорится о разнице между nth-child
и eq
:
Хотя: eq (index) соответствует только одному элементу, это соответствует более чем одному: одному для каждого родителя с индексом. Несколько для каждого родителя с четным, нечетным или уравнением. Указанный индекс одноиндексный, в отличие от: eq (), который начинается с нуля.
Таким образом, выполнив $('ul li').eq(19);
, вы получите единственный 20-й соответствующий элемент запроса (поэтому, если в документе более одного списка, вы не получите «всех 19-х детей», тогда как $('ul li:nth-child(20)');
Вы - отдельный 20-й соответствующий элемент списка каждого <ul>
в документе.
EDIT
Чтобы сделать что-то вроде «от второго к последнему», разумный способ сделать это будет выглядеть так:
var $ul = $('#mylist > li');
var $el = $ul.eq($ul.length-2);
Но вам, вероятно, следует проверить, чтобы длина-2 была не меньше 0.