Selektor file
Selektor :file wybiera elementy z
typem file, które są polami do przesyłania plików.
Odpowiednikiem $(':file') jest
$('[type=file]').
Ponieważ :file nie należy do specyfikacji CSS,
dla lepszej wydajności we współczesnych
przeglądarkach lepiej zastosować
[type='file'].
Składnia
W ten sposób wybieramy elementy z typem file:
javascript$(':file');
Podobnie jak w przypadku innych selektorów pseudoklas
(zaczynających się od ':'), przed ':' lepiej
umieścić nazwę tagu lub innego selektora, w
przeciwnym razie zostanie zastosowany selektor '*',
czyli $(':file') będzie postrzegany jako
$('*:file'), więc zamiast tego lepiej
użyj $('input:file').
Przykład
Wybierzmy wszystkie inputy z typem file i
zróbmy im zielone tło i czerwoną ramkę za pomocą metody
css:
html<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(); // zapobiega wysłaniu formularza });
<
-javascript->