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

[HTML5] classList api 클래스 변경 api

· 13년 전 · 1867 · 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개

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

게시글 목록

번호 제목
17764
17761
17753
17750
26370
4334
4332
17749
17747
26369
17746
17743
17742
17740
17738
17736
17734
17732
30517
17729
17728
17725
24409
17722
30513
17720
17719
4331
17716
26368
17715
17713
17712
17709
30511
30507
30503
30500
17706
17704
17701
17697
17691
17685
30474
17674
30467
17670
17667
17664
17660
17658
17656
4325
30459
4318
17653
30452
17649
30450
30437
17647
4315
4310
30435
30413
17646
30411
17642
17638
17636
30407
17634
17632
17627
17624
17620
17619
17616
17614
17613
17609
17606
17605
17601
24408
17597
4299
17594
17587
17586
4295
17582
17577
17569
17568
17565
30399
30394
24400