728x90
728x90
클래스 다루기. 자바스크립트와 제이쿼리에서는 어떻게 클래스를 다루는지, classList를 지원하지 않는 익스플로러에서 대체할 메서드는 무엇인지 알아보기
바닐라(모던자바스크립트) JS의 classList로 제어하기
var element = document.getElementById( 'element' );
element.classList.add( 'someclass' );
element.classList.add( 'someclass1', 'someclass2' );
element.classList.remove( 'someclass' );
element.classList.remove( 'someclass1', 'someclass2' );
element.classList.contains( 'someclass' );
element.classList.contains( 'someclass1', 'someclass2' );
element.classList.toggle( 'someclass' );
element.classList.toggle( 'someclass', true ); // 강제로 class 추가
element.classList.toggle( 'someclass', false ); // 강제로 class 삭제
jquery로 class 제어하기
$( '#element' ).addClass( 'someclass' );
$( '#element' ).addClass( 'someclass1 someclass2' );
$( '#element' ).removeClass( 'someclass' );
$( '#element' ).removeClass( 'someclass1 someclass2' );
$( '#element' ).hasClass( 'someclass' );
$( '#element' ).hasClass( 'someclass1 someclass2' );
$( '#element' ).toggleClass( 'someclass' );
lassList를 지원하지 않는 익스플로러
classList는 익스플로러에서 일부만 지원한다고 나와있다. IE9 이하에서는 classList 속성이 지원되지 않고 10 이상이 지원된다. 아래 두 가지 호환용 스크립트를 페이지에 포함시키고 IE를 작동하면 9 이하 버전도 사용할 수 있다.
polyfill
- devongovett : https://gist.github.com/devongovett/1381839
- eligrey : https://github.com/eligrey/classList.js
참고
728x90
728x90
'Javascript' 카테고리의 다른 글
모던 자바스크립트 입문 : 6. 웹 브라우저에서의 입출력 (0) | 2020.07.03 |
---|---|
Local Storage (로컬 스토리지) 를 이용한 데이터 저장 (1) | 2020.06.26 |
[JS] 버튼의 포커스이벤트 유지 (활성화 유지) 를 고민해보면서 (0) | 2020.06.18 |
자바스크립트 1 22 333 4444 5555... 패턴 (0) | 2020.06.15 |
자바스크립트 배열 메서드 array reduce (0) | 2020.06.12 |