从`class`名称中删除/替换不需要的前缀信息

我从后端获得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); }  

这是我的要求..

  .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); }  

我的尝试,但失败了:

 var styleText = $('style').get(1).html(); console.log(styleText); //throw error as "Uncaught TypeError: undefined is not a function" 

这是一个解决方案:

 $('style').html(function(_,h){ return h.replace(/^\w+ (\.\w+)/gm,'$1'); }); 

这将删除任何

元素中行的开头和类选择器之前的任何字符串。

示范

似乎前缀是hex的,所以这将完成工作:

 str.replace(/^[A-F0-9]+\s+/gm, '')