Почему parentElement равен null?
Это всё innerHTML виноват
После того, как вы что-либо записываете в innerHTML, объекты пересоздаются заново, а старые уничтожаются. Этот подход не самый хороший. Лучше сразу создайте все span элементы и управляйте их видимостью через классы/стили.