Jquery все кроме текущего

Jquery все кроме текущего

Материал из JQuery

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

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

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

В действии

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

Статья, в которой рассматривается метод библиотеки jQuery .not() .

Назначение метода not()

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

Все оставшиеся элементы текущего набора данный метод упаковывает в новый объект jQuery и возвращает его в качестве результата.

Данный метод имеет один обязательный параметр в качестве которого можно использовать:

  • селектор (строка, содержащая селектор), DOM-элемент, или массив элементов.
  • функция (function(Integer index, Element element) => Boolean). Функция используется как тест, который должен пройти каждый элемент текущего набора. Если элемент проходит тест (т.е. функция возвращает истинное значение для текущего элемента), то он отбирается. Функция может принимать 2 аргумента: index (индекс элемента в текущем наборе jQuery) и element (представляет собой текущий DOM-элемент). Внутри функции, для того чтобы обратиться к текущему DOM-элементу также можно использовать ключевое слово this .
  • набор элементов (объект jQuery).

Использование метода not()

Например, выбрать из всех элементов li только те, у которых индекс в текущей выборке нечётный (not even):

Читайте также:  Игры которые тянет слабый ноутбук

Данный оператор состоит из 2 частей: первая часть $("li") — выбирает все элементы li на странице, вторая часть применит к выбранным элементам фильтр .not(":even") , который возвратит новый объект jQuery, состоящий из элементов не соответствующих селектору ":even" . Т.е. отбирёт из первоначальной выборки, только нечётные элементы (not even) 1, 3, 5 и т.д. Кроме этого необходимо учитывать ещё то, что отчёт элементов начинается с 0 ( 0 элемент — это li , имеющий текст "Пункт1"; 1 элемент — это li , содержащий "Пункт2" и т.д.).

Например, убрать из первоначальной выборки, которая содержит все элементы li на странице, только тот, который имеет :

Данный оператор удалит из первоначальной выборки ( $("li") ) элемент, имеющий . Таким образом, метод .not() вернёт новый объект jQuery, содержащий 4 элемента li .

jQuery. Выбрать все элементы кроме текущего (this)

Иногда при разработке стоит задача выбрать все элементы одного стиля или типа, кроме одного выбранного или выделенного.

Например, у нас есть несколько картинок с одинаковым классом.

При наведении мышки на одну из этих картинок она должна, немного, увеличится, а остальные уменьшиться.

Для решения этой задачки в jQuery можно написать следующее:

В результате, при наведении мышки на картинку, мы сохраняем ее id во временную переменную и затем циклом проходим по всем картинкам с классом myimg. Если текущий id картинки в цикле равен id который во временной переменной то увеличиваем размеры картинки, иначе – уменьшаем.

Добавлено — Среда, Октябрь 20th, 2010, 23:04 Раздел — jQuery, Заметки. Подписаться на RSS 2.0. Оставьте комментарий, или trackback с вашего сайта.

Ссылка на основную публикацию
Adblock detector