PageSourceSearch

https://majidbabaei.com/js/class_helper.js

js majidbabaei.com collected 2026-10-06 14:00:31 UTC 1,489 bytes, 65 lines download raw bytes

vendor: 1,489 bytes, lines 1-65
1( function( window ) {
2
3"use strict"; 
4
5function classReg( className ) {
6  return new RegExp("(^|\\s+)" + className + "(\\s+|$)");
7}
8
9// classList support for class management
10// altho to be fair, the api sucks because it won't accept multiple classes at once
11var hasClass, addClass, removeClass;
12
13if ( 'classList' in document.documentElement ) {
14  hasClass = function( elem, c ) {
15    return elem.classList.contains( c );
16  };
17  addClass = function( elem, c ) {
18    elem.classList.add( c );
19  };
20  removeClass = function( elem, c ) {
21    elem.classList.remove( c );
22  };
23}
24else {
25  hasClass = function( elem, c ) {
26    return classReg( c ).test( elem.className );
27  };
28  addClass = function( elem, c ) {
29    if ( !hasClass( elem, c ) ) {
30      elem.className = elem.className + ' ' + c;
31    }
32  };
33  removeClass = function( elem, c ) {
34    elem.className = elem.className.replace( classReg( c ), ' ' );
35  };
36}
37
38function toggleClass( elem, c ) {
39  var fn = hasClass( elem, c ) ? removeClass : addClass;
40  fn( elem, c );
41}
42
43var classie = {
44  // full names
45  hasClass: hasClass,
46  addClass: addClass,
47  removeClass: removeClass,
48  toggleClass: toggleClass,
49  // short names
50  has: hasClass,
51  add: addClass,
52  remove: removeClass,
53  toggle: toggleClass
54};
55
56// transport
57if ( typeof define === 'function' && define.amd ) {
58  // AMD
59  define( classie );
60} else {
61  // browser global
62  window.classie = classie;
63}
64
65})( window );

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.