Javascript Regex - заменить {ничем - PullRequest
       2

Javascript Regex - заменить {ничем

1 голос
/ 30 сентября 2010


У меня есть небольшая проблема, и я понятия не имею, что не так

    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 Ответ

4 голосов
/ 30 сентября 2010

Некоторые специальные символы, такие как "." необходимо экранировать:

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

Но в этом случае проблема в том, что css_selector - это объект (массив), а не строка. Вы можете применить replace только к строке !!! Используйте

selector_css = selector_css[0].replace(/\{/g,'');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...