테스트 사이트 - 개발 중인 베타 버전입니다

[HTML5] classList api 클래스 변경 api

· 13년 전 · 1869 · 1
class 변경으로 엘리멘탈에 변환을 줘야 할때가 있습니다.

제이쿼리에 addClass 쓰면 편하겠지만. 

거대한 프로그램을 만들때나 모바일 페이지 만들때 요긴하게 쓰입니다.

지원 브라우저:http://caniuse.com/classlist
(역시나 IE는 운지~)

document.getElementById("???").classList

개발자도구로 보면 뒤에 생소한게 있는게 보일 겁니다.

classList 배열로 이루어 져서

add, remove, toggle

이 3가지만 아시면 끝입니다. 대충 제이쿼리 하시는 분들 감이 오실 겁니다.

--추가
document.getElementById("test").classList.add("aa");
test 엔리멘탈에 클래스에 aa 넣기 (aa 이미 있으면 무시 됩니다.)

--삭제
document.getElementById("test").classList.remove("aa");
test 엔리멘탈에 클래스에 aa 삭제

--넣거나 빼거나
*중요*
document.getElementById("test").classList.toggle("aa");
aa가 있으면 삭제하고 aa 없으면 aa를 넣습니다.

응용 방법
(function(){
document.getElementById("test").onclick = function(){
document.getElementById("userList").classList.toggle("on");
};
})();

해석
test 엔리멘탈을 클릭하면 userList 엔리멘탈에 클래스를 넣거나 뺀다.


아직 IE 지원이 안되서 쓰기 힘들고
모바일에는 오페라 빼고는 거의 다 지원되니 모바일에 요긴합니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 1개

감사합니다. 잘보고 갑니다.

게시글 목록

번호 제목
5125
31169
31156
24468
5123
26932
18245
18239
5111
18236
5097
5096
26924
5086
5080
31139
26919
5078
26914
26898
18227
24462
26891
5072
5069
5066
26889
24457
5061
30628
5059
26413
18223
18222
31109
26410
26406
5056
5042
26885
31097
18214
5034
5030
31075
26879
5021
5019
18207
26854
5010
5002
4999
4986
4995
18196
30626
18195
26852
26846
4985
18186
30622
26842
18184
26839
18182
4972
4954
4951
4947
24448
26832
4937
4934
26827
18181
4924
18169
4930
4917
24438
26820
26813
4912
26804
4906
4895
4887
4882
4877
4869
30618
4866
26799
4862
26795
24430
4857
30609