2016-05-31 12 views
5

Ciao, ho una domanda piuttosto semplice. Io uso il tipo di slider dell'intervallo HTML5: <input type="range"> e voglio attivarlo tramite jQuery.Intervallo HTML5 - pseudo non supportato: intervallo

ho usato il seguente codice:

$("form input:range").each(function() { 
    // Do something 
}); 

Per qualche motivo ricevo il seguente errore:

! Uncaught Error: Syntax error, unrecognized expression: unsupported pseudo: range

Forse importante: io uso jquery-1.12.1.min.js.

Qualcuno ora perché questo è e come potrei risolvere questo?

+1

L'errore indica il problema esatto, non esiste un selettore ': range' in jQuery. –

+0

Si prega di leggere questo post: http://stackoverflow.com/questions/10004723/html5-input-type-range-show-range-value –

risposta

6

Prova questo:

jQuery("input[type=range]") 

: è per ottenere un certo genere di meta-informazioni, generalmente per ciò che l'utente sta facendo con l'elemento.

Ad esempio: :hover si applica solo agli elementi su cui l'utente ha posizionato il cursore e :visible è elementi che l'utente può vedere.

EDIT

risposta di Pranav C Balan meglio spiega cosa sta succedendo: HTML5 range - unsupported pseudo: range

5

Non c'è selettore :range pseudo in CSS o jQuery. Invece è possibile utilizzare attribute equals selector

$("form input[type='range']").each(function() { 
    // Do something 
}); 

Per tutta la lista selettori supportati visita: JQuery Selectors

1

Sì, è necessario utilizzare l'attributo equals selettore:

jQuery("input[type=range]") 

C'è uso di :in-range o :out-of-range selettore di CSS che è possibile utilizzare per min e max intervallo di valori:

$("form input:in-range").each(function() { 
    // Do something 
}); 

Ma ahimè! Non c'è il selettore :range.