我从后端获得style
。它有不需要的前缀。如果没有前缀,我会替换相同的。什么是正确的方法?
这是我得到的:
<style>
043BF83A8FB24A418DA4248840101DE5 .cls_0 {
font:26px 'Arial';
color:rgb(0,0,0);
font-weight:bold;
}
043BF83A8FB24A418DA4248840101DE5 .cls_1 {
font:26px 'Arial';
color:rgb(0,0,0);
}
043BF83A8FB24A418DA4248840101DE5 .cls_11 {
font:13px 'Arial';
color:rgb(0,0,0);
}
043BF83A8FB24A418DA4248840101DE5 .cls_12 {
font:16px 'Arial';
color:rgb(0,0,0);
font-weight:bold;
}
043BF83A8FB24A418DA4248840101DE5 .cls_13 {
font:16px 'Arial';
color:rgb(0,0,0);
}
</style>
这是我的要求..
<style>
.cls_0 {
font:26px 'Arial';
color:rgb(0,0,0);
font-weight:bold;
}
.cls_1 {
font:26px 'Arial';
color:rgb(0,0,0);
}
.cls_11 {
font:13px 'Arial';
color:rgb(0,0,0);
}
.cls_12 {
font:16px 'Arial';
color:rgb(0,0,0);
font-weight:bold;
}
.cls_13 {
font:16px 'Arial';
color:rgb(0,0,0);
}
</style>
我的尝试,但失败了:
var styleText = $('style').get(1).html();
console.log(styleText); //throw error as "Uncaught TypeError: undefined is not a function"
答案 0 :(得分:2)
这是一个解决方案:
$('style').html(function(_,h){
return h.replace(/^\w+ (\.\w+)/gm,'$1');
});
这将删除任何<style>
元素中行的开头和类选择器之前的任何字符串。
答案 1 :(得分:0)
前缀似乎是十六进制的,所以这将完成工作:
str.replace(/^[A-F0-9]+\s+/gm, '')