* 判断 DOM 中的元素是否含有某个类
* @param el 元素
* @param className 类名
* @returns
*/
export function hasClass(el: HTMLElement, className: string): boolean {
if (el.classList) {
return el.classList.contains(className);
}
const originClass = el.className;
return ` ${originClass} `.indexOf(` ${className} `) > -1;
}
* 向 DOM 中的元素添加一个类
* @param el 元素
* @param className 类名
*/
export function addClass(el: HTMLElement, className: string): void {
if (el.classList) {
el.classList.add(className);
} else {
if (!hasClass(el, className)) {
el.className = `${el.className} ${className}`;
}
}
}
* 从 DOM 中的元素移除一个类
* @param el 元素
* @param className 类名
*/
export function removeClass(el: HTMLElement, className: string): void {
if (el.classList) {
el.classList.remove(className);
} else {
if (hasClass(el, className)) {
const originClass = el.className;
el.className = ` ${originClass} `.replace(` ${className} `, ' ');
}
}
}