Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>
<div class="outer">
  <div class="inner">
    
  </div>
</div>
</body>
</html>
 
var dom = {};
dom.rand = function(min, max) {
    if(max) {
        return Math.floor(Math.random() * (max - min + 1)) + min;
    } else {
        return Math.floor(Math.random() * (min + 1));
    }
};
dom.trim = function(str) {
    return str.replace(/^\s+|\s+$/g, '');
};
dom.hasClass = function(node, klass) {
    var newClasses = (node.className).replace(/\s+/g, ' ');
    return (' ' + newClasses + ' ').indexOf(' ' + klass + ' ') > -1;
};
dom.addClass = function(node, klass) {
    if (!node.className) {
        node.className = klass;
    } else if (!this.hasClass(node, klass)) {
        node.className += ' ' + klass;
    }
};
dom.removeClass = function(node, klass) {
    if (node.className && dom.hasClass(node, klass)) {
        var newClasses = node.className.replace(new RegExp('(\\s+|^)' + klass + '(\\s+|$)', 'g'), ' ');
        node.className = this.trim(newClasses);
    }
};
dom.toggleClass = function(node, klass) {
    if (dom.hasClass(node, klass)) {
        dom.removeClass(node, klass);
    } else {
        dom.addClass(node, klass);
    }
};
dom.find = function(selector, context) {
  var space = selector.split(/\s+/);
  var part = {};
  var cases = [];
  var klass = [];
  if (space.length > 1) {
    for (var i = 0; i < space.length; i++) {
      if (new RegExp(/\./).test(space[i])) {
        cases[i] = {};
        cases[i].classes = space[i].split(/\./).splice(1);
      } else if (new RegExp(/\b\w+\b/i).test(space[i])){
        console.log(space[i]);
        cases[i] = {};
        cases[i].tagName = space[i];
      }
      
      if (new RegExp(/[a-zA-z]+\./).test(space[i])) {
        cases[i].tagName = space[i].split(/\./).splice(0, 1);
      }
      
      if (new RegExp(/\#\w+/).test(space[i])) {
        cases[i].id = space[i].split(/\#/).splice(1, 1);
      }
    }
  }
  
  console.log(cases);
};
dom.find('div .why.outer.smth .inner #good', document.body);
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
fxslokerpro
0viewers