Skip to content

Instantly share code, notes, and snippets.

@GiorgioNatili
Created September 2, 2015 20:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save GiorgioNatili/cabb700bdc4cf65437e4 to your computer and use it in GitHub Desktop.
Save GiorgioNatili/cabb700bdc4cf65437e4 to your computer and use it in GitHub Desktop.
function getStyle(selector){
var styles = document.styleSheets;
var sheets = Array.from(styles);
var data, element, tot = sheets.length;
for(var i = 0; i < tot; i++) {
element = sheets[i];
if(element.cssRules) {
var tmp = Array.from(element.cssRules);
var filtered = tmp.filter(el => {
return el.selectorText && el.selectorText.indexOf(selector) >= 0
});
if(filtered && filtered.length){
data = filtered;
break;
}
}
}
return data;
}
function getStyleValue(rule, property) {
var found = [],
regex = /{([^}]+)}/g,
curMatch,
tot;
while( curMatch = regex.exec( rule.cssText ) ) {
found.push(curMatch[1].trim());
}
var values = found.filter(element => element.indexOf(property) >= 0),
tot = values.length,
val;
for (var i = 0; i < tot; i++){
val = values[i].split(':')[1];
found = [],
regex = /"([^}]+)"/g,
curMatch;
while( curMatch = regex.exec( val ) ) {
found.push(curMatch[1].trim());
}
return found[0];
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment