<p class="myclass">Hello</p>
<p>Hello</p>
<p class="my">Hello</p>
<p class="myclass">Hello</p>
<p class="myclass">Hello</p>
이런식으로 같은 클래스명을 가진 여러개의 태그가 있을때, CSS로 스타일을 줄때는 .CSS{주고 싶은 스타일} 하면 일괄 적용되잖습니까?
근데 자바스크립트, 그니깐 getElementsByClassName으로 접근해서 스타일을 주면 일괄적용 되지 않는 이유가 궁금합니다.
function addStyle() {
var el = document.getElementsByClassName("myclass");
el.style.backgroundColor = "yellow";
el.style.border = "1px solid red";
}
이런식으로 하면 안먹히고 el[숫자]를 줘서 클래스 갯수만큼 복사해서 붙여넣기를 하거나, 선생님이 짜신것처럼 for문으로 짜서 el[i]에다가 스타일을 줘야 적용되는 이유가 궁금합니다.
아이디에 스타일을 줄때는 getElementById로 접근해서 주면 한번에 됬는데, 클래스는 저런식으로 사용할수 없는 이유가 궁금합니다.
그냥 문법적으로 그렇게 정해져있는 것 뿐인가요? getElementsByClassName을 사용할때는 for문이랑 같이 사용해야한다고 그냥 외우면 되나요?
제가 질문한 코드 입니다.
https://jsfiddle.net/jongmin/9mokozqx/