Элемент <span> сам по себе ничего не значит, но может быть полезен, когда используется вместе с
глобальными атрибутами, например, class, lang, или dir. Он представляет из себя его содержимое. (
https://www.w3.org/TR/html52/textlev...e-span-element)
Элемент <button> представляет из себя элемент управления, позволяющий пользователю запустить некое действие. (
https://www.w3.org/TR/html52/sec-for...button-element)
Вы хотите изменять размер одежды, это действие, а значит оно запускается кнопкой.
События
input и
change действуют на элемент типа
HTMLSelectElement одинаково, поскольку для этого элемента событие
change происходит сразу после изменения, а не тогда, когда элемент теряет фокус.
Обязательно для прочтения...
https://karlgroves.com/2013/05/14/li...divs-and-spans