Skip to content

Latest commit

Β 

History

History
54 lines (40 loc) Β· 1.59 KB

File metadata and controls

54 lines (40 loc) Β· 1.59 KB

prefer-classlist-toggle

πŸ“ 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);