외부 또는 포함 된 스타일 시트를 사용하여 지정된 요소의 스타일 선언에 액세스하려면 어떻게해야합니까? 예 : id 선택기를 사용하여 포함 된 스타일 시트에 정의 된 요소의 width 속성에 액세스하는 방법 CSSRules 객체가이 작업을 수행 할 수 있다는 것을 알고 있지만 ... 브라우저 의존성입니다. 예 : 크롬에서는 객체가 null입니다. 이렇게 브라우저 독립적 인 방법은 무엇입니까?자바 스크립트를 사용하여 CSS 클래스에 액세스
답변
입니다 ... 나는에 사용하는 코드의 비트 there 코드에서 수정 된 자동 확장 텍스트 영역을 만드십시오.
여기에서 $
기능은 Prototype입니다.
function getStyleFromCss(el, style) {
/* Hack required by IE */
var value = $(el).getStyle(style);
if (!value) {
/* For other browsers. Actually this equals 'window'. Use that
* if Opera fails on you. */
if(document.defaultView) {
value = document.defaultView.getComputedStyle(el, null).
getPropertyValue(style);
// for IE
} else if(el.currentStyle) {
value = el.currentStyle[style];
}
}
if(value.length > 0){
/* if the value returned has the word px in it, we check for
* the letter x */
if (value.charAt(value.length-1) == "x") {
value = parseInt(value.substring(0, value.length-2));
}
}
return value;
}
프로토 타입에서 getStyle()
기능이 방법을 정의, 당신은 쉽게 당신의 필요에 적응 할 수 있어야한다.
getStyle: function(element, style) {
element = $(element);
style = style == 'float' ? 'cssFloat' : style.camelize();
var value = element.style[style];
if (!value || value == 'auto') {
var css = document.defaultView.getComputedStyle(element, null);
value = css ? css[style] : null;
}
if (style == 'opacity') return value ? parseFloat(value) : 1.0;
return value == 'auto' ? null : value;
},
IE9 이전의 IE와 다른 모든 브라우저에서 다르게 적용되는 경우입니다. 스타일 시트에서 개체에 적용되는 어떤을 포함하여 객체의 현재 스타일을 얻으려면, 당신은 같은 것을 사용할 수 있습니다 :이 의존하는 브라우저가 정말
function getStyle(el, cssprop) {
if (document.defaultView && document.defaultView.getComputedStyle)
return document.defaultView.getComputedStyle(el, null)[cssprop];
else //IE
return el.currentStyle[cssprop];
}
질문 : document.defaultView가 필요합니까 (처음 보는 것)? defaultView 대신 다른 옵션이 있습니까? –
고맙습니다. 두 번째 다른 사람을 삭제하면 나는 대답을 upvote 것입니다. –
@BenniKa - 수정했습니다. – jfriend00
- 1. CSS 코드 (크로스 도메인, 자바 스크립트)로 CSS 클래스에 액세스
- 2. PHP와 자바 스크립트를 사용하여 동적 CSS 생성하기
- 3. 자바 스크립트를 사용하여 의사 요소 CSS 동적으로
- 4. 자바 스크립트를 사용하여 CSS 값 변경
- 5. 자바 스크립트를 사용하여 CSS 스타일 추가
- 6. 자바 스크립트를 사용하여 Disqus에 액세스 하시겠습니까?
- 7. 자바 스크립트를 사용하여 라디오 버튼 상태에 액세스
- 8. 어떻게 자바 스크립트를 사용하여 숨겨진 버튼에 액세스
- 9. 자바 스크립트를 사용하여 플래시 액세스 방법을 플래시
- 10. 자바 스크립트를 사용하여 OAuth 2.0 액세스
- 11. 자바 스크립트를 사용하여 셰어 포인트 목록에 액세스
- 12. 자바 스크립트를 통한 확인 액세스
- 13. 자바 스크립트를 통한 세션 액세스
- 14. Firebug를 사용하여 CSS 속성을 찾고 자바 스크립트를 사용하여 변경하는 방법
- 15. 자바 스크립트를 사용하여 높이 설정
- 16. CSS 또는 자바 스크립트를 사용하여 다른 CSS 스타일에서 기존 CSS 스타일을 참조 할 수 있습니까?
- 17. Tomcat을 사용하여 Java 클래스에 액세스
- 18. 코드 숨김에서 CSS 파일의 CSS 클래스에 액세스 하시겠습니까?
- 19. 자바 스크립트를 사용하여 레이아웃 지원
- 20. 자바 스크립트를 사용하여 뺄셈
- 21. 자바 스크립트를 사용하여 채팅하기
- 22. 외부 Jar의 클래스에 액세스
- 23. 자바 스크립트를 사용하여 트위터를 업데이트하십시오.
- 24. 자바 스크립트를 사용하여 인쇄 미리보기
- 25. java의 'final'한정자 클래스에 액세스
- 26. 자바 스크립트를 사용하여 CSS 클래스를 하나의 목록 항목에 임의로 추가하십시오.
- 27. 자바 스크립트를 사용하여 CSS 선택자 문자열을 압축하는 방법
- 28. CSS div 어떻게 스크롤 자바 스크립트를 사용하여 팝업?
- 29. 자바 스크립트를 사용하여 배경 위치를 변경하십시오. CSS - 작은 문제
- 30. CSS 또는 자바 스크립트를 사용하여 DIV 측면의 텍스트를 세로로 늘입니다.
명확해야 : 요소에 적용되는 규칙에 액세스하려고합니까, 아니면 특정 요소에 적용되는 최종 스타일을 찾으려고합니까? – Phrogz