Описание: Удаляет элементы, соответствующие указанному выражению, из набора совпавших элементов.
.not( селектор )
.not( элементы )
.not( function(индекс) )
this - текущий элемент DOM.
Данный объект jQuery, который представляет собой набор элементов DOM, метод
.not()
создает новый объект jQuery из подмножества соответствующих элементов.
Поставляемый селектор проверяется по каждому элементу, элементы, которые не соответствуют выбору, будут включены в результат.
Рассмотрим страницу с простым списком на ней:
<ul> <li>list item 1</li> <li>list item 2</li> <li>list item 3</li> <li>list item 4</li> <li>list item 5</li> </ul>
Удаление конкретных элементов
Вторая версия метода .not()
позволяет нам удалять элементы из соответствующего множества, полагая, что мы нашли эти элементы, ранее иным путем.
Например, предположим, что наш список имеет идентификатор применяемый к одному из пунктов:
<ul> <li>list item 1</li> <li>list item 2</li> <li id="notli">list item 3</li> <li>list item 4</li> <li>list item 5</li> </ul>
getElementById(), и затем удалить его из объекта jQuery:
$('li').not(document.getElementById('notli'))
.css('background-color', 'red');
Данное выражение меняет цвет пунктов 1, 2, 4, и 5. Мы могли бы сделать то же самое с простым выражением jQuery, но этот метод может быть полезен, когда, например, другие библиотеки предоставляют ссылки на узлы DOM.
Начиная с jQuery 1.4, метод .not()
может принимать функцию как аргумент, так же, как это делает .filter().
Элементы, для которых функция возвращает true
не будут включенны в отфильтрованный набор;
все другие элементы будут включенны.
Примеры
Пример 1
Добавляет рамки у элементов div, цвет фона которых не зеленый или не синий.Пример 1 - Полный код:
Добавляет рамки у элементов div, цвет фона которых не зеленый или не синий.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function(){
$("div").not(".green, #blueone")
.css("border-color", "red");
});
</script>
<style>
div { width:60px; height:60px; margin:10px; float:left;
background:yellow; border:2px solid white; }
.green { background:#8f8; }
.gray { background:#ccc; }
#blueone { background:#99f; }
</style>
</head>
<body>
<div></div>
<div id="blueone"></div>
<div></div>
<div class="green"></div>
<div class="green"></div>
<div class="gray"></div>
<div></div>
</body>
</html>
Пример 2
Удаляет элемент с ID «selected» из набора всех параграфов на странице.$("p").not( $("#selected")[0] )
Пример 3
Удаляет элемент с ID «selected» из набора всех параграфов на странице.$("p").not("#selected")
Пример 4
Удаляет все элементы, которые не соответствуют «div p.selected», из всего набора параграфов на странице.
$("p").not($("div p.selected"))

