Два вопроса:
- Как можно иконку не вставлять а заменять текст? Чтобы текста не было, вместо него иконка
- Возможно ли реализовать без span id="icon" ? Только слово внутри тега li, заменятся иконкой?
Конечно можно. Тебе необходимо создать новый дом элемент <span id="icon"></span>, о том как это сделать можно посмотреть здесь Add Element . А потом либо с помощью jquery очистить элемент списка и добавить в него созданый элемент, либо просто в inner его присвоить.