jQuery итерация - метод not()
Пример
Удаление абзаца с идентификатором "selected" из набора всех абзацев:
$("p").not("#selected")
Определение и использование
Удаление элементов из набора соответствующих элементов.
Грамматика 1
.not(selector)
Параметры | Описание |
---|---|
selector | Строковое значение, содержащее селектор выражение для соответствия элементов. |
Грамматика 2
.not(element)
Параметры | Описание |
---|---|
element | Одна или несколько DOM-элементов, которые необходимо удалить из набора. |
Грамматика 3
.not(function(index))
Параметры | Описание |
---|---|
function(index) | Функция для проверки каждого элемента в наборе. this — текущий элемент DOM. |
Подробное описание
Если передается объект jQuery, представляющий набор элементов DOM, метод .not() создает новый объект jQuery, состоящий из подмножества элементов, соответствующих селектору. Применяемый селектор проверяет каждый элемент; элементы, не соответствующие селектору, включаются в результат.
Думайте о странице с простым списком:
<ul> <li>Элемент списка 1</li> <li>Элемент списка 2</li> <li>Элемент списка 3</li> <li>Элемент списка 4</li> <li>Элемент списка 5</li> </ul>
Мы можем применить этот метод к集合у элементов списка:
$('li').not(':even').css('background-color', 'red');
Результат этого вызова — установка красного фона для элементов 2 и 4, так как они не соответствуют селектору (памятка: :even и :odd используют индекс, основанный на 0).
Удаление конкретных элементов
Вторая версия метода .not() позволяет нам удалить элементы из набора, если мы уже нашли их другими способами. Например, предположим, что список уже применяет id к одному из элементов:
<ul> <li>Элемент списка 1</li> <li>Элемент списка 2</li> <li id="notli">Элемент списка 3</li> <li>Элемент списка 4</li> <li>Элемент списка 5</li> </ul>
Мы можем использовать原生ную функцию JavaScript getElementById() для чтения третьего списка элементов и удаления его из объекта jQuery:
$('li').not(document.getElementById('notli')).css('background-color', 'red');
Эта команда изменяет цвет фона элементов 1, 2, 3 и 5. Мы можем выполнить то же самое с помощью более простого выражения jQuery, но эта техника может быть полезна, например, при работе с другими библиотеками, предоставляющими доступ к чистым DOM-элементам.
Для jQuery 1.4 метод .not() может принимать функцию в качестве параметра, как и метод .filter(). Элементы, для которых функция возвращает true, будут исключены из набора фильтрации; все остальные элементы будут включены.