Selettore text
Il selettore :text seleziona gli input con
tipo text. Vedi il tag
input.
Poiché :text non fa parte delle specifiche CSS,
per migliorare le prestazioni nei browser moderni
è meglio utilizzare
[type='text'] al suo posto.
Sintassi
In questo modo selezioniamo gli input con tipo text:
$(':text');
Come con altri selettori di pseudo-classe
(che iniziano con ':'), è meglio
premettere il nome del tag o di un altro selettore prima di ':',
altrimenti verrà applicato il selettore '*',
cioè $(':text') verrà interpretato come
$('*:text'), quindi invece è meglio
usare $('input:text').
Bisogna ricordare che :text selezionerà
anche tutti gli input a cui non è specificato l'attributo type,
le differenze di comportamento si possono vedere nel seguente
esempio:
$('<input>').is('[type=text]'); // restituirà false
$('<input>').is(':text'); // restituirà true
Esempio
Selezioniamo tutti gli input con tipo text e
rendiamogli lo sfondo verde e il bordo rosso utilizzando il metodo
css:
<form>
<input type="button" value="button">
<input type="file">
<input type="checkbox">
<button>button</button>
<input type="reset">
<input type="radio" name="test">
<input type="radio" name="test">
<input type="checkbox">
<input type="text">
</form>
$('form input:text').css({background: 'green', border: '2px red solid'});
$('form').submit(function(event) {
event.preventDefault(); // impedisce l'invio del form
});