JS 獲取指定類別選擇器的所以樣式值

[javascript]
      /*
 * 獲取指定類別選擇器的所以樣式值
 * @method getClassStyle
 * @param {String} name 類別選擇器的名字
 * @param {Document} doc 指定的document
 * @return {String} 該樣式的cssText
 */ 
getClassStyle : function(name, doc) { 
    var doc = doc || document, 
        name2 = name.replace(/\./, '\\.').replace(/\b/,'\\b') + '\\b', 
        reg = new RegExp(name2, 'i'); 
        ret = ''; 
    for(var i=0; i<doc.styleSheets.length; i++) { 
        var styleSheet = document.styleSheets[i], 
            rules = styleSheet.cssRules ? styleSheet.cssRules : styleSheet.rules; 
        for(var j=0; j<rules.length; j++) { 
            var rule = rules[j], 
                cls = rule.selectorText; 
            // rule.selectorText可能不存在 
            if(cls && reg.test(cls)) { 
                var newStr = /{.*?}/.exec(rule.cssText) || '';  
                // 去重 
                if(-1 == ret.indexOf(newStr)) { 
                    ret += newStr; 
                } 
            } 
        } 
    } 
   // 過濾掉大括號 
   return ret.replace(/{|}/g,''); 

You May Also Like