<div class="classA classB classC"></div>
<style>
.classA{
color: green;
border-radius: 27%;
border: 3px solid lightblue;
}
</style>
.classA
. Т.е. на выходе должно быть:{
"color": "green",
"border-radius": "27%",
"border": "3px solid lightblue"
}
const getClassStyles = className =>
[...document.styleSheets].reduce((styles, { cssRules }) => {
return [...cssRules]
.filter(n => n.selectorText === `.${className}`)
.reduce((styles, { cssText }) => {
return (cssText
.match(/[\w\-]+: [^;]+/g) || [])
.map(n => n.split(': '))
.reduce((styles, [ k, v ]) => (styles[k] = v, styles), styles);
}, styles);
}, {});
const styles = getClassStyles('class-name');