prefer-classlist-toggle
March 27, 2026 ยท View on GitHub
๐ Prefer using Element#classList.toggle() to toggle class names.
๐ผ This rule is enabled in the following configs: โ
recommended, โ๏ธ unopinionated.
๐ง๐ก This rule is automatically fixable by the --fix CLI option and manually fixable by editor suggestions.
Prefer using Element#classList.toggle() instead of conditionally calling classList.add() and classList.remove().
Examples
// โ
if (element.classList.contains('className')) {
element.classList.remove('className');
} else {
element.classList.add('className');
}
// โ
element.classList.contains('className')
? element.classList.remove('className')
: element.classList.add('className');
// โ
element.classList[element.classList.contains('className') ? 'remove' : 'add']('className');
// โ
element.classList.toggle('className');
// โ
if (condition) {
element.classList.add('className');
} else {
element.classList.remove('className');
}
// โ
condition
? element.classList.add('className')
: element.classList.remove('className');
// โ
element.classList[condition ? 'add' : 'remove']('className');
// โ
element.classList.toggle('className', condition);