Javascript正则表达式 - 替换{没有任何内容

时间:2010-09-30 07:34:21

标签: 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 />');
    }

一切正常,但是当我添加

selector_css = selector_css.replace(/{/g,''); 

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

http://jsfiddle.net/beMKY/

提前致谢!
彼得

1 个答案:

答案 0 :(得分:4)

一些像“。”这样的特殊字符。需要逃脱:

selector_css = selector_css.replace(/\{/g,''); 

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

selector_css = selector_css[0].replace(/\{/g,'');