Selettore file
Il selettore :file seleziona elementi con
tipo file, che sono campi di caricamento file.
L'equivalente di $(':file') è
$('[type=file]').
Poiché :file non fa parte delle specifiche CSS,
per migliorare le prestazioni nei browser moderni
è meglio utilizzare [type='file'] al suo posto.
Sintassi
In questo modo selezioniamo elementi di tipo file:
$(':file');
Come con altri selettori di pseudo-classe
(che iniziano con ':'), prima di ':' è meglio
specificare il nome del tag o di un altro selettore,
altrimenti verrà applicato il selettore '*',
cioè $(':file') verrà interpretato come
$('*:file'), quindi invece è meglio
utilizzare $('input:file').
Esempio
Selezioniamo tutti gli input di tipo file e
rendiamogli lo sfondo verde e il bordo rosso utilizzando il metodo
css:
<form>
<input type="button" value="button">
<input type="file">
<input type="password">
<button>button</button>
<input type="reset">
<input type="radio" name="test">
<input type="radio" name="test">
<input type="checkbox">
<input type="text">
</form>
<+javascript+>
$('form input:file').css({background: 'green', border: '2px red solid'});
$('form').submit(function(event) {
event.preventDefault(); // impedisce l'invio del modulo
});
<-javascript->