русский  עברית
tadam logo
Нашли ошибку в тексте?
Отметьте её курсором и нажмите
Ctrl + Enter
Проверка орфографии Xhtml.co.il
Orphus system
Рассылка
Присоединитесь к списку рассылки для получения последних новостей

Введите адрес электронной почты:

.not( селектор )

Возвращает: jQuery

Описание: Удаляет элементы, соответствующие указанному выражению, из набора совпавших элементов.

.not( селектор )

Добавлена в версию: 1.0
селектор
Выражение, с помощью которого необходимо осуществлять поиск элементов.

.not( элементы )

Добавлена в версию: 1.0
элементы
Один или несколько элементов DOM, для удаления из соответствующего набора.

.not( function(индекс) )

Добавлена в версию: 1.4
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>
Мы можем применить этот метод к набору элементов списка:
$('li').not(':even').css('background-color', 'red');
Результатом этого вызова является красный фон для пунктов 2 и 4, так как они не соответствуют выбору (напомним, что :even и :odd используют индекс, начинающийся с 0).

Удаление конкретных элементов

Вторая версия метода .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>
Мы можем выбрать третий элемент списка используя встроенную функцию JavaScript 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, цвет фона которых не зеленый или не синий.
    $("div").not(".green, #blueone")
            .css("border-color", "red");

The output of the code above will be:

Пример 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"))
Была ли эта информация полезной?
   

Комментарии