我有一个包含以下CSS的字符串,需要使用JavaScript进行处理
h1
{
color: red;
}
.info
{
border: 1px dotted blue;
padding: 10px;
}
#rect
{
background: pink;
}
h2,
h3,
h4
{
font-weight: bold;
}
table td:last td
{
background: gainsboro;
}
我该如何为每个规则添加前缀.page
,以免破坏CSS?
我希望得到这样的结果:
.page h1
{
color: red;
}
.page .info
{
border: 1px dotted blue;
padding: 10px;
}
...
目前,我通过查找缩进来解决这个问题,但是在这种情况下,代码会失败。
h1
{
color: red;
}
最终导致
.page h1
{
.page color: red;
}
我也可以查找只有括号的行,但那样的话这种情况就会失败。
h1 { color: red; }
我不想自己构建CSS解析器,而我找到的大多数解析器主要处理应用于DOM元素的CSS,而不是包含CSS的字符串。是否有一个好的解析器或者可以通过其他方式实现这个目标?