Я работаю над вводом пользовательского файла со следующим HTML:
<div class="file">
<a>browse<input type="file" name="annex"/></a>
<span class="path">path</span>
</div>
<div class="help">Only PDF files allowed</div>
Вы можете посмотреть онлайн-пример здесь: http://codepen.io/mdmoura/pen/qAvDk
ПРОБЛЕМЫ
CSS
Jquery
Я использую var input = $(this);
но если я использую var this = $(this);
он не работает. Зачем?
Использование $('.path').text(label);
работает... Но я хотел бы получить span после: файла, на который я input.next().text(label);
... Я попробовал input.next().text(label);
Но это не работает. Зачем?
Благодарю вас, Мигель
Не проблема во всех браузерах, но привязка и интервал выравниваются, если вы удаляете padding
из диапазона, добавьте vertical-align: middle
к якорю и удалите отрицательное нижнее поле.
this
не изменчиво. Он не может быть назначен, и это фактически создает синтаксис (я думаю)
Недопустимое назначение левой руки
Существует множество способов установить this
при объявлении или вызове функции, но var input = $(this)
является общим решением. Я бы просто придерживался этого.
Что касается вашего селектора, вам нужно будет использовать input.parent().next()
. Ввод - это ребенок якоря и не имеет братьев и сестер.