2010-12-20 12 views

cevap

26

Böyle istediğiniz öğeleri seçmek için .filter() kullanabilirsiniz: tıpkı karşılaştırma eklerseniz bir değere karşı kontrol için, çok basit bir boolean kontrol ediyoruz çünkü bu durumda

$("someSelector").filter(function() { return $.data(this, "foo"); }); 

Bu: DOM her eleman döngü ve belirtilen değerle veri öğesini içerip içermediğini görmek için kontrol etmeden sadece data API ile

$("someSelector").filter(function() { return $.data(this, "foo") == "value"; }); 
+1

kullanarak değeri true ile "data-key" adında bir niteliğe tüm nesneleri' $ 'üzerinde (bu genellikle) .Data ('foo') '? –

+7

@Matt - Hayır boşa jQuery nesnesi :) –

+0

Bu bana işe yaramadı. "$ .data (bu," foo ") ==" value "; 'ı neden değerlendirdiğinizi anlamıyorum;' '$ .data (this) .foo.id ==" idValue "ile değiştirerek çalıştı; '. İpucu için teşekkürler! Bana gerçekten yardım etti! – Xeroxoid

5

mümkün değil.

Veriler basitse, belki de seçici yoluyla da aranabilen HTML5 veri niteliklerini kullanabilirsiniz. Daha sonra

$("selector").attr("data-key", "theKey"); 

`$ .data (bu, 'foo') kullanmanın avantajı nedir

$('[data-key="true"]') 
+0

çok teşekkürler. jquery'yi her zaman bu verileri elementte kaydetmediğimi unuttum :) – mrzmyr

İlgili konular