2010-08-11 23 views
8

Eminim ki bu oldukça basit ama ben sadece onu buldum.jQuery - Değere göre seçim yapın

Değerlerinden bir metin kutusu seçmem gerekiyor. Değere ihtiyacım yok, elementlere ihtiyacım var. Ben

unrecognized expression: [value:'hideme'] 

btw ile bitirmek

$(".ProductCode [value:'hideme']").hide(); 

$(".ProductCode").each(function() { if ($(this).val() == 'hideme') $(this).hide(); }); 

çalışıyor, ama çok temiz görünmüyor: bir şey gibi istiyorum.

+0

'Her()' kullanmaya gerek yoktur. Öğeleri seçtiğinizde, tüm seçili öğeler üzerinde 'hide()' önceden biçimlendirirsiniz. Cevabımı 2 metin kutusunu bir kerede gizleyen bir jsFiddle örneği eklemek için düzenledim. –

+0

tamam, sadece bir tane var: bir = yerine ama ben de orada bir boşluk vardı. Her ikisi için, jsFiddle örnek için @ peter-ajtai verdim. ama her ikisine de +1. –

cevap

14

Kullanım jQuery

ait attribute equals selector
$(".ProductCode[value='hideme']").hide(); 

ayrıca kullanabilirsiniz, daha kesin olmak gerekirse multiple attribute selector:

$("input[class='ProductCode'][value='hideme']").hide(); 

ikisi arasındaki fark belli olan ilk seçtiği tüm unsurları olduğunu sınıf ve değer. İkincisi, belirli bir sınıf ve değer ile tüm INPUT'leri seçer.

Bu seçiciler, ilgili öğelerin tüm seçecektir. Böylece hide() işlevi tüm öğeleri gizleyecektir. Yani each() veya diğer şeyler ile seçilen öğeler arasında "elle" yinelemeye gerek yok. hide() sizin için otomatik olarak yapar.

Here is a live example.

7

Dene:

$(".ProductCode[value='hideme']").hide(); 

fazla ayrıntı için jQuery docs Attribute Equals Selector bakın.

+0

Vay, bunu görmeliydim. Yani artık bir hata alıyorum, ama ben de hiçbir şey seçmiyorum. Niteliklerin bir listesi var mı, yoksa jQuery'nin özellikle atıfta bulunduğu HTML özellikleri mi? –

+0

Belki de seçmeye çalıştığınız HTML'nin bir kısmını gönderebilirsiniz ... –

+0

Teşekkürler Justin, anladım, alan da beni fırlatıyordu. –

İlgili konular