Skip to content

Instantly share code, notes, and snippets.

@mariomc
Created November 8, 2013 18:27
Show Gist options
  • Save mariomc/7375369 to your computer and use it in GitHub Desktop.
Save mariomc/7375369 to your computer and use it in GitHub Desktop.
var masterRule = function(el, recurse) {
var rules = [];
var rule = [];
var nodeName, id, classes;
do {
nodeName = el.nodeName.toLowerCase();
if (nodeName === 'html') { break; }
rule.push(nodeName);
id = el.id;
if (id) {
rule = rule.concat(['#', id]);
}
classes = el.className;
if (classes) {
classes = classes.split(' ');
rule = rule.concat(['.', classes.join('.')]);
}
rules.unshift( rule.join('') );
rule = [];
el = el.parentNode;
} while (el && recurse);
return rules.join(' ');
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment