Codmaster: jQuery вообще не было. А вставлять его в head или body решать вам. Разница в том, что контент не появиться пока head всё не загрузит (может плохо сказаться на UX). А когда он в body, контент уже загрузился и пойдёт асинхронная загрузка скрипта. В этом случае есть риск, что JS события не сработают пока jQuery не загрузится.
Codmaster: Ха, так вы же и скрипт вставили в head. В этот момент от ещё "не знает" про input и .icon-user. Для этого надо его завернуть в оболочку $(document).ready(function(){}); https://jsfiddle.net/xe7xapp9/1/