30秒学会 JavaScript 片段 · 2022年7月6日

30秒学会 JavaScript 片段 – HTML element class manipulation with JavaScript

Working with HTML elements in the browser often involves around manipulating their classes. In order to do so, you might need a handful of utilities, such as checking if an element has a class, adding, removing or toggling a class.

Check if HTML element has a class

To check if an HTML element has a class, you can use the Element.classList property and the DOMTokenList.contains() method.

代码实现

const hasClass = (el, className) => el.classList.contains(className);

hasClass(document.querySelector('p.special'), 'special'); // true

Add a class to HTML element

To add a class to an HTML element, you can use the Element.classList property and the DOMTokenList.add() method.

使用样例

const addClass = (el, className) => el.classList.add(className);

addClass(document.querySelector('p'), 'special');
// The paragraph will now have the 'special' class

Remove a class from HTML element

Similarly, removing a class from an HTML element can be done the same way, but using the DOMTokenList.remove() method, instead.

const removeClass = (el, className) => el.classList.remove(className);

removeClass(document.querySelector('p.special'), 'special');
// The paragraph will not have the 'special' class anymore

Toggle a class for HTML element

Finally, if you only need to switch a class on and off, you can use the DOMTokenList.toggle() method.

const toggleClass = (el, className) => el.classList.toggle(className);

toggleClass(document.querySelector('p.special'), 'special');
// The paragraph will not have the 'special' class anymore

翻译自:https://www.30secondsofcode.org/js/s/html-element-test-add-remove-toggle-class