Jquery все кроме первого

В jQuery, как я могу использовать селектор для доступа ко всем, кроме первого элемента? Таким образом, в следующем коде будет доступен только второй и третий элемент. Я знаю, что могу получить к ним доступ вручную, но может быть любое количество элементов, так что это невозможно. Благодарю.

4 ответа

или: (согласно комментарию @Jordan Lev):

Из-за того, как селекторы jQuery оцениваются справа налево , читаемое li:not(:first) замедляется этой оценкой.

Не менее быстрое и легкое для чтения решение использует версию функции .not(":first") :

Это всего на несколько процентных пунктов медленнее, чем slice(1) , но очень легко читается как «Я хочу все, кроме первого».

Мой ответ сфокусирован на расширенном случае, полученном из приведенного сверху.

Предположим, у вас есть группа элементов, от которой вы хотите скрыть дочерние элементы, кроме первого. В качестве примера:

Мы хотим скрыть все элементы .child в каждой группе. Так что это не поможет, потому что скроет все элементы .child кроме visible#1 :

Материал из JQuery

Исключает элементы удовлетворяющие селектору selector из найденных элементов.

$(‘div:not(.lBox)’) вернет все div-элементы, кроме тех, которые принадлежат классу lBox.
$(‘div:not(#bigBang)’) вернет все div-элементы, кроме элемента с идентификатором bigBang.
$(‘input[ > вернет все input-элементы с заданным идентификатором, кроме текстовых полей.

Метод .not() выполняет то же самое, что и рассматриваемый селектор, и чаще всего, при его использовании, код получается более читаемым, чем при использовании селектора :not().

В действии

Отделим котлеты с мухами от нормальных котлет: выделим все элементы с классом rissole (котлета), кроме тех, которые содержат элементы с классом fly (муха):

Собираюсь скрыть все элементы выборки кроме первого. есть следующая дом структура:

Читайте также:  Телефоны для пожилых людей отзывы

но не работает,как поправить?

1 ответ 1

В данном виде "#_result:not(:eq(0))" выражение найдет все элементы с >

Для решения нужно искать не первый элемент среди детей, для этого нужно добавить знак >

Так же можно пойти другим путем и выбирать что нужно оставить в коде