>웹 프론트엔드 >JS 튜토리얼 >js 작업 css 구현 code_javascript 기술

js 작업 css 구현 code_javascript 기술

WBOY
WBOY원래의
2016-05-16 18:51:331185검색

규칙이 필요한 경우 DOM이 변경될 때마다 이 작업을 수행할 수 없습니다. 그렇지 않으면 너무 비효율적입니다.
다행히도 DOM의 CSS 규칙도 수정할 수 있습니다. 그러나 브라우저마다 CSS 규칙에 대한 인터페이스 설명이 다릅니다. IE는 해시 테이블과 같은 방법을 사용하는 반면 FF는 배열을 사용합니다.
프로그래밍 가능성 측면에서 보면 ie의 인터페이스 설명이 프로그래머에게 더 인기가 있지만 논리적으로는 분명히 ff가 더 합리적입니다.
IE와 유사한 방식으로 두 코드 세트의 간단한 패키징을 제공하지만 IE는 dom의 CSS RemoveRule 이후에 규칙을 동기적으로 준수할지 확신할 수 없습니다. 따라서 제거 대신 규칙 재정의를 사용하는 것이 좋습니다.
js 함수를 사용할 때 페이지에 스타일 태그가 하나 이상 있어야 한다는 점에 유의하세요. 아래는 코드와 예제입니다.

코드 복사 코드는 다음과 같습니다.


<script> <br>function addCSSRule(key,value){ <br>var css = document.styleSheets[document.styleSheets.length-1]; css.cssRules ? <br>(css.insertRule(key "{" value "}", css.cssRules.length)) : <br>(css.addRule(key,value)) <br>} <br> function RemoveCSSRule( key){ <br>for(var i = 0; i < document.styleSheets.length; i ){ <BR>var css = document.styleSheets[i] <BR>css.cssRules ? >(함수 (){ <BR>for(var j = 0; j < css.cssRules.length; j ){ <BR>if(css.cssRules[j].selectorText==key){ <BR>css .deleteRule( j); <BR>} <BR>} <BR>})() : <BR>(css.removeRule(key)) <BR>} <BR>} <BR></script>

abc




성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.