Селектор jQuery: выбрать все элементы `li` после` li [id = "control"] ` - PullRequest
1 голос
/ 25 марта 2011

У меня есть список:

<ul>
   <li class="myclass">...</li>
   <li class="myclass">...</li>   
   <li class="myclass">...</li>
   <li id="control">...</li>
   <li class="myclass">...</li>
   <li class="myclass">...</li>
   <li class="myclass">...</li>
</ul>

Как выбрать все li элементы после li[id="control"]?
В этом примере мне нужно выбрать последние три li 's

Ответы [ 2 ]

5 голосов
/ 25 марта 2011

Существует .nextAll(), который получит все братьев и сестер после выбора конкретного элемента, например:

$("#control").nextAll();

Вы можете попробовать это здесь

В этом случае братья и сестры являются элементами <li>, поэтому он выберет их всех на одном уровне (не дочерние элементы <li> ниже, если они существуют).

1 голос
/ 25 марта 2011

Если вы хотите один селектор, я думаю вы можете использовать $('#control ~ li'). Соединитель «~» (это «соединитель», правильное слово? «Оператор», может быть?) Похож на «+», но он выбирает всех следующих братьев и сестер, а не только первый.

Иногда приятно иметь возможность делать что-то с одной строкой селектора, потому что вы можете организовать селекторы и действия в структуре данных. Однако довольно часто случается, что выполнение явных вызовов функций jQuery в цепочке (как в ответе @ Nick с помощью «.nextAll ()») происходит быстрее, чем позволить механизму выбора анализировать и оценивать необычную строку селектора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...