Поскольку у вас изначально установлено display: none
, то toggle
просто убирает свойство display
и оно становится дефолтным для a
, то есть inline
.
Варианты:
- поместить все иконки в общий div
и переключать его;
- переключать класс, на основе которого в CSS менять свойство display
.
Из ошибок с ходу:
- тэг i
не стоит использовать для иконок, семантически он предназначен для выделения фрагмента текста, например технического термина или идиоматическтого выражения;
- 'display'
в первом параметре toggle
не имеет смысла, там может быть длительность переключения, объект с параметрами или логическое значение, но не произвольная строка.