2013-08-29 10 views
5

Sto provando a selezionare un elemento DOM con un valore di attributo specifico. Mi piacerebbe evitare un ciclo each(), ma tutto ciò che ho visto in jQuery è la capacità di rilevare l'esistenza dell'attributo dei dati, non il suo valore. Quindi, voglio realizzare qualcosa di simile:Verificare l'esistenza di un valore attributo dati specifico

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

aggiungendo [0] sarà Boolean jQuery colpisce, proprio come .length> 0 o solo. lunghezza se in una dichiarazione if() ... – dandavis

risposta

3

provare questo:

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

} 
6

mancante ) e $(selector) non dovrebbe essere messo in una condizione di se. è sempre true anche se non seleziona nulla.

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

dovrebbe essere

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

o

if(jQuery('.item').attr('data-index') == indexVal){ 
} 
Problemi correlati