Javascript 正则表达式 - 用无替换 {

Pet*_*ter 2 javascript jquery replace


我有一个小问题,我不知道出了什么问题

    var selector_css;
    var sheet= document.styleSheets[0];
    var rules= 'cssRules' in sheet? sheet.cssRules : sheet.rules;
    for (var i= 0; i<rules.length; i++)
    {
        var rule= rules[i];
        var text= 'cssText' in rule? rule.cssText : rule.selectorText+' {'+rule.style.cssText+'}';
        text =  text.replace(/\s/g, '');
        selector_css = text.match(/^(.*?){/gi);
         // selector_css = selector_css.replace(/{/g,'');  // <- dont work ?
        $('body').append('- '+selector_css+' <br />');
    }
Run Code Online (Sandbox Code Playgroud)

一切正常,但是当我添加

selector_css = selector_css.replace(/{/g,''); 
Run Code Online (Sandbox Code Playgroud)

我没有得到结果或错误,但为什么呢?有人可以帮助我吗?

http://jsfiddle.net/beMKY/

提前致谢!
彼得

Tha*_*ama 5

一些特殊字符,如“.” 需要转义:

selector_css = selector_css.replace(/\{/g,''); 
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,问题在于css_selector是一个对象(数组)而不是字符串。你只能申请replace一个字符串!!!用

selector_css = selector_css[0].replace(/\{/g,'');
Run Code Online (Sandbox Code Playgroud)