2010-12-23 2 views
0

는 난 CSS 있고 다양한 요소CSS와 javascsript

제가 그 클래스 정보를 가져올하고자에서 사용되는 그것에서 정의 된 다양한 종류가있다. js를 사용하여 가능합니까 ??

+0

javascript를 사용하여 CSS 클래스에 정의 된 내용을 가져 오시겠습니까? –

+0

아마도 새 요소를 만들고 만들 수 있고, 모든 스타일 속성에 대한 키를 포함하는 개체를 만들고, 원하는 클래스를 적용한 다음 스타일 소품에 대한 키가 들어있는 두 번째 개체를 다시 만들 수 있습니다. 두 가지를 비교해보십시오 - 차이점은 새롭게 설정된 스타일일까요? Eeek ... 그 소리가 지저분 해 보입니다. P – danjah

답변

3

클래스 이름과 일치하는 선택기를 찾을 때까지는 문서에있는 모든 스타일 시트의 규칙을 반복하는 것이 가능하지만 스타일 수가 많으면 느려질 수 있습니다.

function findClassRule(cls) { 
    var styles = document.styleSheets, 
     reg = new RegExp("\\." + cls + "\\s*(?:,|$)"), 
     res = []; 

    for (var i=0; i < styles.length; i++) { 
     var rules = styles[i].cssRules || styles[i].rules; 

     for (var j=0, max = rules.length; j < max; j++) { 
      var rule = rules[j]; 
      if (reg.test(rule.selectorText)) 
       res.push(rule.style.cssText); 
     } 
    } 
    return res; 
} 

근무 데모 : http://jsfiddle.net/EAf44/ (결과를 볼 수 브라우저의 콘솔을 사용하여).

지정한 클래스 이름과 일치하는 스타일 선언 배열을 반환합니다. 결과 선언은 스타일 시트에 쓰여진 것과 같지 않을 수도 있습니다 - 브라우저가 그것을 수정했을 수도 있습니다.