Tengo una entrada de archivo dentro de un div y me gustaría acceder a ella, pero la entrada de archivo no tiene identificación.
var el = $("#hey > :file"); console.log(el); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="something" id="hey"> <div class="remote"></div> <input type="file"> </div>Pero obtengo muchos elementos, me gustaría saber si es posible prescindir de jQuery.
<input type="file"> puede coincidir con el selector input[type="file"] , así que utilícelo junto a #hey > .
No necesita jQuery, querySelector funciona bien.
var el = document.querySelector('#hey > input[type="file"]'); console.log(el); el.onchange = () => { console.log(el.files); }; <div class="something" id="hey"> <div class="remote"></div> <input type="file"> </div>Puede usar document.querySelector() para obtener el primer elemento coincidente, o si necesita una lista de todos los elementos, use document.querySelectorAll()
var el = document.querySelector('#hey > input[type="file"]'); console.log(el); <div class="something" id="hey"> <div class="remote"></div> <input type="file"> </div>