9 Şubat 2012 Perşembe

jquery & closeset()

jquery ve ajax kullanılan web app lerde bazen tablo içerisindeki bazı satırları seçmek isteriz.
Aşağıdaki kod örneği adı verilen tabloda, 3. td sinde a.png bulunduran satırları seçmeye yarıyor. Seçip ne yapıcaz peki? Örnek olması amacıyla silelim.

$('table#tabloadi tbody:eq(0) tr td:nth-child(3)').find('img[src="a.png"]').closest('tr').remove();

yukarıdaki kod örneğinde kullanılan elemanların ne işe yaradığını da açıklayalım;
table#tabloadi = id'si "tabloadi" olan tablo yu referans gösteriyoruz,
tbody:eq(0) = ilgili tablodaki ilk tbody elemanı,
tr = tablodaki satırlar,
td:nth-child(3) = tr ler içerisindeki soldan 3. tablo hücrelerini,
.find('img[src="a.png"]') = hedefteki td lerden sadece içerisinde src özniteliğinde a.png yi barındıran img html etiketlerini buluyor.
.closest('tr') = ilgili hücresinde a.png barındıran tr elemanlarını, yani tablo satırlarını seçitiryoruz,
.remove() komutu ile de ilgili tablo satırları silinmiş oluyor.

Böylelikle aynı zamanda bir çok jquery fonksiyonunun aynı anda nasıl kullanılabildiğini de göstermiş olalım.

2 yorum:

Adsız dedi ki...

hocam selam, benzer bir örnek yapmak istiyorum ama beceremedim. yardımcı olabilirseniz sevinirim. arama alanını tarih sütunu olarak belirleyecem ve burdaki tarih bilgisine 10 günden az bir süre kaldıysa o satırın farklı bi renkte gözükmesini istiyorum. yani sizin örneğinizde find alanına ne yazabilirim bunun için.

Gringo dedi ki...

Güzel bir sorun :)
javascript ve jquery de tarih fonksiyonlarına kasmak gerekiyor.