jQuery 遍历 - not() 方法
定义和用法
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');
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');
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.