HTTP/2 "вышел" на сервера, но до клиентов он ещё не добрался.
Простой ответ - если у вас нет ssl-сертификата, то до http2 вам пока как до Луны пешком. Если сертификат есть, то нужно анализировать посещения пользователей на предмет используемых браузеров и уже тогда решать.
Если решите переходить, то да, можно отказаться от конкатенации.
Потому, что mouseout срабатывает при переходе с родителя на дочерний элемент (ну и вообще при каждом чихе). А вы как раз его и создаете. В итоге элемент создаётся - срабатывает mouseout - элемент удаляется - срабатывает mousein - элемент создаётся и так по кругу. Подробнее и с картинками.
Вас спасут mouseenter/mouseleave.
Ну а вообще, сделайте скрытую кнопку в каждом узле и показывайте её через css, зачем скриптом-то?
Раз вы ни кода, ни ссылки на сайт не привели, будем говорить про сферический CSS в вакууме:
CSS 2.1 properties (well-supported subset): background-image
These properties are supported in effectively all browsers (since IE6+, Firefox 2+, Chrome 1+ etc)
Includes the following:
...
background-image
...
Да, у нас на одном проекте было ровно то же самое, пришлось костылять.
Мы использовали foundation, у вас bootstrap, так что явно где-то в браузере что-то криво реализовано.