Хотя кмк правильнее "Атрибуты селектора", а не "Селектор атрибута"
У селектора нет атрибутов.
Атрибуты есть у тегов.
И вот селекторы выбирающие элементы по атрибутам так и называются "селекторы по атрибутам" или "селекторы атрибутов". Второе получено более простым переводом attribute selectors.
Марат Агатов, если вы туда самостоятельно добавляете атрибуты, то логично добавлять нормальные data
C другой стороны, вообще не используете value, почему (риторический вопрос, не отвечайте)?
Марат Агатов, это дополнение ничего не меняет в том куске кода, который был в вопросе.
Скорее вопрос, как сократить и оставшееся.
Начать можно с объединения листнеров в один.
А эту штуку .from(form.querySelectorAll(':checked'))
Странные невалидные атрибуты заменить на data-атрибуты
Судя по опечатке pice вместо price, это вы их туда засунули, а не modx.
Такие проекты удобнее всего публиковать через Github Action. Тогда в репозитории в обычных рабочих ветках находятся исходники, а для публикации будет отдельная ветка, обычно gh-pages.
Посмотрите видео, на его базе всё можно сделать https://www.youtube.com/watch?v=hevU4NdIsoU
Взять одну целую SVG и не заниматься ерундой.
Вряд ли прописывание поведения для одной займет существенно меньше места и хоть как-то выиграет в производительности. Тем более, что они всё таки разные, а не просто уменьшенные.