jQuery 遍历 - not() 方法

实例

从包含所有段落的集合中删除 id 为 "selected" 的段落:

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

Kişisel olarak deneyin

定义和用法

not() 从匹配元素集合中删除元素。

Birinci dilbilgisi

.not(selector)
Parametreler Açıklama
selector Dizgi değeri, elementleri eşleştirmek için kullanılan seçici ifadesi içerir.

İkinci dilbilgisi

.not(element)
Parametreler Açıklama
element Bir veya daha fazla, eşleşen kümeden çıkarılması gereken DOM elementi.

Üçüncü dilbilgisi

.not(function(index))
Parametreler Açıklama
function(index) Kümedeki her bir elementi denetlemek için kullanılan fonksiyon. this, mevcut DOM elementidir.

Ayrıntılı açıklama

Bir DOM elementi kümesi temsil eden bir jQuery nesnesi verildiğinde, .not() yöntemi, eşleşen elementlerin alt kümesinden yeni bir jQuery nesnesi oluşturur. Uygulanan seçici her elementi denetler; bu seçiciye uymayan elementler sonuçta içerilir.

Aşağıdaki basit listeli sayfanı düşünün:

<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>

Bu yöntemi liste öğeleri kümesine uygulayabiliriz:

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

Kişisel olarak deneyin

Bu çağrının sonucu, 2 ve 4 numaralı projelerin kırmızı arka plan rengi ile ayarlanmasıdır, çünkü bu seçiciye uymazlar (hatırlayın, :even ve :odd 0 tabanlı index'e dayalıdır).

Spesifik bir elemanı kaldırma

.not() yönteminin ikinci versiyonu, daha önce diğer yollarla bulduğumuz elemanları seçim kümesinden çıkarmamıza izin verir. Örneğin, bir liste id'yi bir projeye uygulamış bir hayal edin:

<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>

Üçüncü liste öğesini okumak için temel JavaScript fonksiyonu getElementById() kullanabilir ve ardından bunu jQuery nesnesinden silmek için:

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

Kişisel olarak deneyin

Bu cümle, 1, 2, 3 ve 5 numaralı projelerin arka plan rengini değiştirir. Aynı şeyi daha basit bir jQuery ifadesi ile yapabiliriz, ancak bu teknik, örneğin saf DOM nodlarına referans sağlayan diğer kütüphaneler olduğunda oldukça faydalı olabilir.

jQuery 1.4 için, .not() yöntemi, .filter() yöntemine benzer şekilde bir fonksiyonu parametere alabilir. Fonksiyonun true döndüren elemanlar filtreleme kümesinden çıkarılır; tüm diğer elemanlar içerilir.