2013-02-10 15 views
5

Molte volte con le caselle di testo è possibile utilizzare il selettore di "input [tipo = testo]" nel foglio di stile o jQuery. Ora, con tutte le nuove varianti della casella di testo in HTML5, come si può trattare con le caselle di testo oltre a elencarli tutti come questo ?:Selettore per caselle di testo in HTML5?

input [type = text], di input [type = colore], ingresso [type = datetime ], input [type = email], ingresso [type = numero], input [type = Ricerca], input [type = tel], ingresso [type = url], ...

+1

jQuery attualmente non ha una sola pseudo-classe catch-all per i nuovi tipi di input HTML5. Allo stesso modo, jQuery non ne avrà uno neanche in futuro, dal momento che questo problema è contrassegnato come "wontfix" nel [jQuery Bug Tracker] (http://bugs.jquery.com/ticket/9132). È meglio creare il proprio selettore, come suggeriscono le risposte. – Boaz

risposta

2

Per quanto poiché so che non esiste un selettore che seleziona quegli input, puoi definire un selettore personalizzato.

var types = ['button', 'submit', 'reset', 'hidden', 'checkbox', 'radio']; 
jQuery.extend(jQuery.expr[':'], { 
    textbox: function (elem) {  
     return jQuery.inArray(elem.type, types) === -1 
    } 
}); 

$('input:textbox').bar(); 

http://jsfiddle.net/Xryyq/

1

Può essere più facile da usare solo input per le caselle di testo, e poi o di esclusione (per CSS) o escludere (con :not()) per togliere le caselle di controllo, pulsanti di opzione, ecc

Problemi correlati