В 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))" выражение найдет все элементы с >
Для решения нужно искать не первый элемент среди детей, для этого нужно добавить знак >
Так же можно пойти другим путем и выбирать что нужно оставить в коде