Константин, а зачем Вам собственно говоря, для этого JS? Можно и простым CSS обойтись, а уже если хотите отображать название загружаемого файла, то можно и JS подрубить именно для этого. Вам нужно просто сделать обертку, она у вас есть. сделать Вашему input opacity: 0; чтобы он был невидим, дать обертке position: relative; дать input position: absolute; сделать нужный размер и расположить в нужном месте, а также задать z-index, к примеру 2, и сделать в обертке ещё блок с вашей новой кнопкой, также дать ей position: absolute; те же размеры что и input и расположение в том же месте, а z-index: 1; чтобы она по оси оказалась под input, но т.к. вы дали input opacity: 0; то вы будете видеть только свою стилизованную кнопку, а кликать на самом деле по input