UNPKG

yoastseo

Version:

Yoast client-side content analysis

66 lines (62 loc) 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _lodash = require("lodash"); /** * Adds a class to an element * * @param {HTMLElement} element The element to add the class to. * @param {string} className The class to add. * @returns {void} */ var addClass = function (element, className) { var classes = element.className.split(" "); if (-1 === classes.indexOf(className)) { classes.push(className); } element.className = classes.join(" "); }; /** * Removes a class from an element * * @param {HTMLElement} element The element to remove the class from. * @param {string} className The class to remove. * @returns {void} */ var removeClass = function (element, className) { var classes = element.className.split(" "); var foundClass = classes.indexOf(className); if (-1 !== foundClass) { classes.splice(foundClass, 1); } element.className = classes.join(" "); }; /** * Removes multiple classes from an element * * @param {HTMLElement} element The element to remove the classes from. * @param {Array} classes A list of classes to remove * @returns {void} */ var removeClasses = function (element, classes) { (0, _lodash.forEach)(classes, this.removeClass.bind(null, element)); }; /** * Checks whether an element has a specific class. * * @param {HTMLElement} element The element to check for the class. * @param {string} className The class to look for. * @returns {boolean} Whether or not the class is present. */ var hasClass = function (element, className) { return element.className.indexOf(className) > -1; }; var _default = exports.default = { hasClass: hasClass, addClass: addClass, removeClass: removeClass, removeClasses: removeClasses }; //# sourceMappingURL=domManipulation.js.map