Насколько я знаю, нету никаких особых преимуществ одного способа перед другим, так что, вероятно, любым из имеющихся, или тем который уместнее в вашем случае.
Ну да, в каждом случае объект ui содержит контекст и остальные вспомогательные данные: в случае со слайдером там лежит объект слайдера, в случае со спиннером - объект спиннера, и так далее.
Ольга: вероятно стоит инициализировать selectedButton, то есть при загрузке страницы искать есть ли кнопка с таким классом, если есть - сохранять её в selectedButton.
anton99zel: у вас в коде огромное количество повторяющихся ID, и вижу я это именно из вашего кода. Какой смысл спорить?
Давайте я скажу, какие идентификаторы я вижу, по порядку: test, test, test, test, test1, test1, test1, test1, test3, test3. Три идентификатора, всего 10 вхождений. Это недопустимо.
К тому же не очень понятно что делает ваш код, т.к. он зачем-то первой кнопке с одним из ID добавляет атрибут src. Это так и было задумано?
UncleDenn: в консоли, она женского рода. Если речь о вкладке "Network", то она находится не в консоли, а в инструментах разработчика. Консоль это отдельный инструмент.
Во вкладке network отображаются отправляемые запросы, вы никак не можете контролировать их отображение, кроме как просто перестанете слать запросы.