2017-05-23 3 views
0

비슷한 질문과 답변이 많이 있지만 모든 해결책을 시도한 후에 코드에 무엇이 잘못된 것인지 알 수 없습니다. 여기 className이 자바 스크립트에서 undefined를 반환합니다.

여기
var x = document.getElementsByClassName('xclass1 xclass2 xclass3'); 
console.log(x); 
x.className += ' class4'; 
console.log(x); 
console.log(x.className); 

처음 CONSOLE.LOG에 표시 것입니다 내 코드입니다 :

[a.xclass1.xclass2.xclass3] 

그것은

여기

무엇 쇼입니다 올바른 요소를 찾아 보여줍니다 로그 :

[a.xclass1.xclass2.xclass3, className: "undefined class4"] 

그리고 세 번째는이 반환

undefined class4 

사람은 왜 className 반환 undefined을 설명해 주시겠습니까? 나는 완전히 여기

+2

는'getElementsByClassName'를 반환합니다. – Li357

+1

classList를보세요 –

+0

@AndrewLi 대단히 고마워요! 방금 알아 낸 것 ...'x [0] .className + = 'class4';'fixes –

답변

1

손실은 실제 요소 요소를하지 포함하는 객체의 배열 클래스를 콘솔하려고하기 때문에 코드 아래에 정의되지 않은

수익을 참조하고 있습니다. 요소의 모음 * 아닌 한, 당신은 같은 클래스에 여러 요소를 가질 수 있기 때문에 *

var x = document.getElementsByClassName('xclass1 xclass2 xclass3'); 
 
console.log(x); 
 
x[0].className += ' class4'; 
 
console.log(x); 
 
console.log(x[0].className);
<div class="xclass1 xclass2 xclass3"></div>

관련 문제