SORU
23 Mayıs 2010, Pazar


jquery veri seçici

Elementlerin değerleri .data() nesne öğesi saklanan dayalı seçmek için ihtiyacım var. En azından, üst düzey veri özellikleri seçiciler kullanarak seçmek için, belki de böyle istiyorum:

$('a').data("category","music");
$('a:data(category=music)');

Belki de seçici düzenli nitelik seçici biçimde olabilir:

$('a[category=music]');

Veya nitelik biçiminde, ama .data() olduğunu belirtmek için belirleyici olan:

$('a[:category=music]');

James Padolsey's implementation basit ama güzel görünmek buldum. Ayna yöntemlerin seçici biçimleri Bu sayfa üzerinde gösterilmektedir. Ayrıca Sizzle patch Bu var.

Nedense, DV 1.4 .data() jquery nesne değerleri üzerinde seçiciler için destek yer alacağını bir süre önce okuma hatırlıyorum. Onu arıyorum şimdi ancak bulamıyorum. Belki de gördüğüm bir özellik isteği. Ve sadece ben göremiyorum da bu destek var mı?

İdeal olarak, veri alt özellikler destek istiyorum() nokta işaretini kullanarak. Bu gibi:

$('a').data("user",{name: {first:"Tom",last:"Smith"},username: "tomsmith"});
$('a[:user.name.first=Tom]');

Ben de TÜM belirtilen veri seçiciler ile sadece elemanları bulunduğu birden çok veri seçiciler destek istiyoruz. Normal bir WordPress kullanmak çok seçici YA da bir operasyon yok. Örneğin, $('a.big, a.small') seçer ya da sınıf big small) a etiketler. Bir arıyorum VE belki de bu gibi:

$('a').data("artist",{id: 3281, name: "Madonna"});
$('a').data("category","music");
$('a[:category=music && :artist.name=Madonna]');

Son olarak, eğer karşılaştırma operatörleri ve düzenli Özellikleri Veri seçiciler mevcut olsaydı çok iyi olurdu. $(a[:artist.id>5000]) mümkün olur. Muhtemelen bu kadar filter() kullanarak yapabileceğimi biliyorum ama basit seçici bir biçimde olması iyi olurdu.

Çözüm bunu yapmak için kullanılabilir. Jame's Padolsey şu anda en iyi çözüm bu mu? Benim sorunum alt özellik nokta-gösterim ve çoklu veri seçiciler gibi ekstra özellikleri performans için, ama aynı zamanda öncelikle saygılar. Bunları desteklemek ya da bir şekilde daha iyi olan başka uygulamalar var mı?

CEVAP
6 Temmuz 2011, ÇARŞAMBA


Şu anda böyle bir seçme yapıyorum:

$('a[data-attribute=true]')

Sadece iyi iş gibi görünüyor, ama eğer jQuery olmadan bu özniteliği tarafından seçmek mümkün olsaydı güzel olurdu 'veri' öneki.

Veri dinamik olarak jQuery ile elementler eklenmiş bu test etmedim, bu yöntem düşüşünü olabilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BenjiManTV

    BenjiManTV

    20 Mart 2011
  • Helen Bradley

    Helen Bradle

    4 Mart 2008
  • HTC Tutorials

    HTC Tutorial

    21 EYLÜL 2010