pologenki, да, вы в своём коде ссылаетесь только на первый попавшийся в структуре .categories__main, а через querySelectorAll('.categories__main') вы найдете все такие элементы, с этим классом. И через цикл, уже навесите обработчик клика
vittallyyaaa, можете показать код? Или же просто в каждую кнопку, например, забить дата-атрибут со значением цвета. После в скрипте их все найти и перебрать циклом, навесив обработчик клика по кнопке и при клике читать дата-атрибут кнопки и это значение ставить в стиль body
Aleksandr Tarnopolskiy, тогда вывод один, инспектировать, что могло перекрыть их, если hover не проходит по ним.
А в представленном примере, всё работает, правда у средней ссылке нет стилей на hover
Никита Соколов, по идеи это индивидуально у всех пользователей, так как это все в настройках браузера. Он не появляется только на картинках заданных фоном. Смотрите настройки свои