Все эти `data-index` - признак плохого кода. Любой блок должен, по возможности, получаться в JS только один раз, записываться в кеш и работать далее с блоком именно как с JS инстансом.
Какой в этом смысл для табов? Надо ведь понимать когда нужно кешировать элементы, а когда это просто избыточный код, который усложняет читаемость и дебагинг.
60 строк кода для табов? Ну ок, хотя можно сделать в 6 (если убрать классы), и работать это будет быстрей и дебажить намного легче.
в какую сторону можно расширять табы?