Вы можете использовать две картинки для иконки: черную и белую. Затем создайте класс в CSS, который будет менять путь к картинке на белую версию иконки при наведении. Например:
HTML:
```
< img src="black-icon.png" class="icon">
```
CSS:
```
.icon:hover {
content: url('white-icon.png');
}
```
Также можно использовать атрибут srcset, чтобы задать несколько путей к разным версиям картинки. Например:
HTML:
```
<img src="black-icon.png" srcset="white-icon.png 1x" class="icon">
```
CSS:
```
.icon:hover {
content: url('white-icon.png');
}
```
Причем тут хаб JavaScript я так и не понял.