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->

Zobacz też

  • metoda filter,
    która filtruje elementy w zbiorze według podanego selektora
  • metoda find,
    która wyszukuje elementy wewnątrz już znalezionych
  • metoda css,
    która pozwala pobierać i zmieniać style CSS elementu