1/** 2 * Check if custom class exists. 3 * 4 * @param {HTMLElement} el [dom element] 5 * @param {String} checkClass [check class, no dot] 6 */ 7function hasClass(el, checkClass) { 8 return el.className.match(new RegExp('(\\s|^)' + checkClass + '(\\s|$)')); 9} 10 11/** 12 * Add custom class. 13 * 14 * @param {HTMLElement} el [dom element] 15 * @param {String} newClass [add new class, no dot] 16 */ 17function addClass(el, newClass) { 18 if (el.classList) el.classList.add(newClass) 19 else el.className += ' ' + newClass 20} 21 22/** 23 * Remove custom class. 24 * 25 * @param {HTMLElement} el [dom element] 26 * @param {String} classToRemove [remove class, no dot] 27 */ 28function removeClass(el, classToRemove) { 29 if (el.classList) el.classList.remove(classToRemove) 30 else { 31 el.className = el.className.replace(new RegExp('(^|\\b)' + classToRemove.split(' ').join('|') + '(\\b|$)', 'gi'), '') 32 33 const posLastCar = el.className.length - 1 34 35 if (el.className[posLastCar] === ' ') el.className = el.className.substring(0, posLastCar) 36 } 37 38 // Remove class attribute if no classes left 39 if (el.classList.length === 0) el.removeAttribute('class') 40}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.