Javascript 需要一种从css文件中获取颜色代码的方法吗

Javascript 需要一种从css文件中获取颜色代码的方法吗,javascript,css,node.js,Javascript,Css,Node.js,我需要一种方法来找出CSS文件中可用的颜色,并将其导出到excel文件 .download-hero, .download-version-toggle, a.is-version { color: #eaf5e9; background: #026e00 } 所以我需要搜索是否有颜色元素。如果是这样的话,我需要将其导出到下面的excel表格中 .download-hero #eaf5e9 .download-version-to

我需要一种方法来找出CSS文件中可用的颜色,并将其导出到excel文件

.download-hero, .download-version-toggle, a.is-version {
    color: #eaf5e9;
    background: #026e00
}
所以我需要搜索是否有颜色元素。如果是这样的话,我需要将其导出到下面的excel表格中

.download-hero                   #eaf5e9      
.download-version-toggle         #eaf5e9  
a.is-version                     #eaf5e9  

我同意@georg的观点,即由于解析CSS的复杂性,您不应该自己做这件事。但是,如果您正在解析的CSS相对简单且可预测,那么您可以使用regex来实现它

此示例可用于基本CSS(例如不支持媒体查询):

const css=`.download hero、.download version toggle、a.is-version{
颜色:#eaf5e9;
背景:#026e00
}
a>b{
背景色:#026e00
颜色:黑色;
}`;
const selectorExp=/\s*([^{]+?)\s*\{\s*([^}]+?)\s*\}/g;
常量colorExp=/(^;[\s;])color\s*:\s*([^;]+)/i;
让选择器匹配;
让颜色=[];
while(selectorMatch=selectorExp.exec(css)){
常量[匹配、选择器、规则]=选择器匹配;
const colorMatch=colorExp.exec(规则);
如果(颜色匹配){
colors=colors.concat(选择器.split(/\s*,\s*/g).map(s=>({
选择器:s,
颜色:colorMatch[2],
})));
}
}

控制台日志(颜色)您好,这是针对已加载css的浏览器,还是针对脱机节点脚本?var color=$(“.class”).css(“背景色”);诸如此类,你是否缺少css选择器之间的逗号?如当前所述,如果嵌套在
中,则颜色仅应用于
a.is-version
。下载英雄
。下载版本切换
Hi@georg。它是一个脱机节点脚本。我只带了CSS文件。对于脱机脚本,请在npmjs.com上查找“CSS解析器”。我肯定有很多。将css反馈给解析器,一旦得到js结构,就从中获取所需的数据。不要试图对regexes等人这样做。