Day75 - [js]노드 클래스의 제어

2021. 6. 2. 22:36Java Script

이번에는 java script 를 사용해서 class 를 제어하는 법에 대해서 알아 봅시다.

 

노드 클래스의 제어

 

위의 버튼은 class 이름이 'btn' , id 이름이 'btn' 입니다.

 

그리고 이 버튼을 사용할 때 저희는 거의 document.getElementById("btn") 을 사용했죠?

 

그리고, 안에 속성 id , innerHTML , value , style 은 그냥 .id = "btn" 등으로 사용 했었습니다.

 

그런데, 생각해보면 btn.class = "btn" 이렇게 사용해본 적은 없죠?

 

실제로 아래와 같이 코드를 짜면 에러가 납니다.

var btn = document.getElementById("btn");

btn.class = "btn";

 

그 이유는, class 속성을 제어하는 이름은 class 가 아닌, className 이기 때문입니다. ( class 는 예약어<키워드>)


그리고, class 속성은 이름을 1개뿐 아니라 여러가지를 가질 수 있습니다.

이렇게 말이죠. 그러면 이 버튼은 클래스가 "btn", "btn-default" 이렇게 2개를 가지게 됩니다.

 

그래서 className 으로 접근하게 되면?

이렇게 나오게 됩니다.

 

그래서, class 가 가진 이름을 배열형태로 가지고 오는 classList 가 있습니다.

 

classList 로 접근하게 되면, 아래와 같이 나오게 되는데. 인덱스를 통해서 접근을 할 수도 있고, 함수를 써서 접근할 수도 있습니다. 아래의 _proto_: DOMTokenList 를 열어보면, 사용할 수 있는 함수들이 있는데요

이름만 봐도 대충 어떤 애들인지 감이 오죠?

 

이 중에서 전부 알 필요는 없고 ( 알면 좋지만 ) 필요한 애들만 좀 봅시다.

 

add("이름") : "이름" class 를 추가한다

remove("이름") : class 중에 "이름" 이 있다면 삭제한다

contains("이름") : class 중에 "이름" 이 있다면 true, 없다면 false 를 반환한다.

 

'Java Script' 카테고리의 다른 글

Day76 - [js]event객체 , 이벤트위임  (0) 2021.06.03
Day76 - [js]toggle  (0) 2021.06.03
Day75 - [js]노드회전  (0) 2021.06.02
Day74 - [js]태그의 추가 및 삭제  (0) 2021.06.01
Day74 -[js]동적 기능을 하는 메뉴만들기  (0) 2021.06.01