У вас есть основная проблема с ToggleClass, который добавляет или удаляет одно или несколько имен классов из выбранных элементов, что вам не нужно.
Используйте это, чтобы удалить все классы, кроме hello. $ ("# range"). attr ('class', 'hello');
Еще одна вещь - функция fontRange ().
Вам нужно только значение input, поэтому передайте только значение и удалите эти строки:
var element = e.parentElement.id;
element = ".hello";
function fontRange(value) {
$("#range").attr('class', 'hello').addClass('list' + value);
}
* {
color:#fff;
}
.hello {
background:black;
}
.list6 {
background:red;
}
.list7 {
background:green;
}
.list8 {
background:orange;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="range" value="5" step="1" min="5" max="8" oninput="fontRange(this)" onchange="fontRange(this.value)">
<div id='range' class="hello">
Range
</div>