UNPKG

965 BJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.getClasses = getClasses;
7exports.getClassSelectors = getClassSelectors;
8/**
9 * Get class names for an element
10 *
11 * @pararm { Element } el
12 * @return { Array }
13 */
14function getClasses(el) {
15 var classNames = void 0;
16
17 try {
18 classNames = el.classList.toString().split(' ');
19 } catch (e) {
20 if (!el.hasAttribute('class')) {
21 return [];
22 }
23
24 var className = el.getAttribute('class');
25
26 // remove duplicate and leading/trailing whitespaces
27 className = className.trim().replace(/\s+/g, ' ');
28
29 // split into separate classnames
30 classNames = className.split(' ');
31 }
32
33 return classNames;
34}
35
36/**
37 * Returns the Class selectors of the element
38 * @param { Object } element
39 * @return { Array }
40 */
41function getClassSelectors(el) {
42 var classList = getClasses(el).filter(Boolean);
43 return classList.map(function (cl) {
44 return '.' + cl;
45 });
46}
\No newline at end of file