2013-08-29 16 views
5

Próbuję wybrać element DOM z określoną wartością atrybutu. Chciałbym uniknąć pętli each(), ale wszystko, co widziałem w jQuery, to możliwość wykrycia istnienia atrybutu danych, a nie jego wartości. Tak, chcę osiągnąć coś takiego:Sprawdź, czy istnieje konkretna wartość atrybutu danych

if ($('.item[data-index="' + indexVal + '" ]'){ 
    //if an .item with the data-index value of indexVal exists... 
} 
+0

dopisywania [0] będzie Boolean jQuery trafi, podobnie jak .length> 0 lub just .length jeśli w instrukcji if() ... – dandavis

Odpowiedz

3

spróbuj tego:

if ($('.item[data-index="' + indexVal + '" ]').length > 0){ 

} 
6

brakuje ) i $(selector) nie powinny być wprowadzane w razie choroby. zawsze jest true nawet nie wybiera niczego.

if ($('.item[data-index="' + indexVal + '" ]').length) { 
0

powinny być

if ($('.item[data-index="' + indexVal + '" ]')){ 
    //if an .item with the data-index value of indexVal exists... 
} 

lub

if(jQuery('.item').attr('data-index') == indexVal){ 
} 
Powiązane problemy