Редуване на стилове чрез data- атрибут в JavaScript

За решаване на проблема, описан в предишния урок, няма да задаваме класове на елемента, а ще променяме стойността на data- атрибут. Това е удобно, защото такъв атрибут може да има само една стойност и при запис новата стойност автоматично ще презаписва старата.

Например, ето как ще зададем успешен стил:

html<div id="elem" data-type="success">
  text
</div>

А ето как стил за грешка:

html<div id="elem" data-type="error">
  text
</div>

Стиловете на нашите състояния ще зададем чрез селектори на атрибути:

css[data-type="success"] {
  color: green;
}
[data-type="warning"] {
  color: orange;
}
[data-type="error"] {
  color: red;
}

Сега лесно можем да оцветим нашия елемент в успешен цвят:

javascriptelem.dataset.type = 'success';

А ето как ще оцветим в цвят за грешка:

javascriptelem.dataset.type = 'error';
Задание 1

Дадено е input поле. При загуба на фокус проверете въведеното в него число. Ако числото е до десет, оцветете input полето в зелен цвят, ако е от десет до двадесет - в жълт, а ако е повече от двадесет - в червен.