jQuery Anotação - método not()

Exemplo

Remover o parágrafo com id "selected" da coleção de todos os parágrafos:

$("p").not("#selected")

Experimente você mesmo

Definição e uso

Remover() remove elementos da coleção de elementos correspondentes.

Sintaxe 1

.not(selector)
Parâmetros Descrição
selector Valor de string, contendo uma expressão de seletor para combinar elementos.

Sintaxe 2

.not(element)
Parâmetros Descrição
element Um ou mais elementos DOM que precisam ser removidos do conjunto de correspondência.

Sintaxe 3

.not(function(index))
Parâmetros Descrição
function(index) Função usada para detectar cada elemento do conjunto. this é o elemento DOM atual.

Explicação detalhada

Se fornecermos um objeto jQuery que representa uma coleção de elementos DOM, o método .not() constrói um novo objeto jQuery a partir de um subconjunto de elementos correspondentes. O seletor aplicado detectará cada elemento; os elementos que não correspondem ao seletor serão incluídos no resultado.

Pense na seguinte página com uma lista simples:

<ul>
  <li>item da lista 1</li>
  <li>item da lista 2</li>
  <li>item da lista 3</li>
  <li>item da lista 4</li>
  <li>item da lista 5</li>
</ul>

Podemos aplicar esse método ao conjunto de itens da lista:

$('li').not(':even').css('background-color', 'red');

Experimente você mesmo

O resultado dessa chamada é definir o fundo dos itens 2 e 4 como vermelho, pois eles não correspondem ao seletor (lembrando, :even e :odd usam índices baseados em 0).

Remover elementos específicos

A segunda versão do método .not() permite que removamos elementos do conjunto de correspondência, supondo que já tenhamos encontrado esses elementos por outros meios. Por exemplo, imagine uma lista que já aplicou um id a um dos itens:

<ul>
  <li>item da lista 1</li>
  <li>item da lista 2</li>
  <li id="notli">item da lista 3</li>
  <li>item da lista 4</li>
  <li>item da lista 5</li>
</ul>

Podemos usar a função nativa JavaScript getElementById() para ler o terceiro item da lista e, em seguida, removê-lo do objeto jQuery:

$('li').not(document.getElementById('notli')).css('background-color', 'red');

Experimente você mesmo

Esta instrução muda a cor de fundo dos itens 1, 2, 3 e 5. Podemos usar uma expressão jQuery mais simples para fazer a mesma coisa, mas essa técnica pode ser muito útil quando, por exemplo, outras bibliotecas fornecem referências a nós DOM puros.

Para jQuery 1.4, o método .not() pode usar uma função como parâmetro, como o método .filter(). Os elementos para os quais a função retorna true serão excluídos do conjunto de filtragem; todos os outros elementos serão incluídos.