2015-01-28 4 views
0

CSS 스타일을 반복하려고합니다.CSS 스타일 반복 스타일 지정 불일치

document.styleSheets[0].cssRules[10].style 

모두 정수 및 문자열 키와 객체 인 CSSStyleRule을 반환 예를 들어이 같은 스타일을 얻는다.

document.styleSheets[0].cssRules[10].style[0] == "max-height" 

문자열 키

실제에 대한 액세스를 제공합니다 :

정수 및 .length 키는 스타일 속성 지정을 반복하는 데 사용할 수 있으며, 각각의 하나는, 예를 들어, 속성의 이름을 제공합니다 다음과 같은 스타일의 실제 텍스트 :

document.styleSheets[0].cssRules[10].style["maxHeight"] == "100px" 

따라서 이론상 모든 속성을 반복하기 쉽습니다. 하지만 멍청한 변화가 max-height에서 maxHeight으로 변경되었습니다. 이 문제를 어떻게 처리 할 수 ​​있습니까? 이 매핑이 무엇인지 어떻게 알 수 있습니까? -aA으로 변환하는 등의 함수를 작성해야합니까?

+1

이게 니가 찾고있는거야? http://stackoverflow.com/questions/2531737/javascript-incapable-of-getting-elements-max-height-via-element-style-maxheight –

+0

예. 감사합니다. ..... – Timmmm

+0

[가능한 방법 HTML 요소의 스타일 값을 자바 스크립트에서?] (http://stackoverflow.com/questions/2664045/how-to-get-an-html-elements-style-values-in-javascript) – TylerH

답변

0

나는 경우 변경하려면이 기능을 사용하여 종료 :

function camelCaseCssName(str) { 
    var ret = ""; 
    for (var i = 0; i < str.length; ++i) { 
     if (str[i] == '-') { 
      if (i < str.length - 1) { 
       ret += str[i+1].toUpperCase(); 
       ++i; 
      } 
     } else { 
      ret += str[i]; 
     }   
    } 
    return ret; 
} 

Bhojendra 또한 게시 된 링크는 내가 테스트하지 않은이 버전이 포함되어 있습니다,하지만 그것은 많은 짧은 :

styleProp = styleProp.replace(/\-(\w)/g, function(str, letter) { 
    return letter.toUpperCase(); 
});