juliocavalcanti

Pure Javascript functions

Oct 17th, 2017
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function getParentBySelector(node, selector, stop_selector = 'body') {
  2.     var parent = node.parentNode;
  3.     while (true) {
  4.         if (parent.matches(stop_selector)) break;
  5.         if (parent.matches(selector)) break;
  6.         parent = parent.parentNode; // get upper parent and check again
  7.     }
  8.     if (parent.matches(stop_selector)) parent = null; // when parent is a tag 'body' -> parent not found
  9.     return parent;
  10. };
  11.  
  12. var hasClass = function(el, cls) {
  13.     var regexp = new RegExp('(\\s|^)' + cls + '(\\s|$)'),
  14.         target = (typeof el.className === undefined) ? window.event.srcElement : el;
  15.     return target.className.match(regexp);
  16. }
  17.  
  18. function addClass(element, classname){
  19.     var currentClassList = (element.className || '').split(/\s+/);
  20.     currentClassList
  21.      .push(currentClassList.indexOf(classname) > -1 ? '' : classname);
  22.     element.className = currentClassList.join(' ').trim();
  23. }
  24.  
  25. function removeClass(el, classNameToRemove){
  26.     var elClass = ' ' + el.className + ' ';
  27.     while(elClass.indexOf(' ' + classNameToRemove + ' ') !== -1){
  28.          elClass = elClass.replace(' ' + classNameToRemove + ' ', '');
  29.     }
  30.     el.className = elClass;
  31. }
Advertisement
Add Comment
Please, Sign In to add comment