2017-09-28 1 views
1

나는 이것이 작동하지 않는 이유를 모른다. 그 의미를 무엇JavaScript에서 특정 클래스를 숨기는 방법

"document" is not defined.

: 나는 특정 클래스를 숨기려고하고이 유일한 제가 자바 스크립트에있는 코드의 라인 : 나는 오류가 몇 가지 이유를 들어

document.getElementsByClassName("popular").style.display = "none";

그것은 변수가 아닙니다.

도와 주시고 감사드립니다.

+0

당신은 브라우저에서 실행중인? – Claies

+0

예. 그것은 getElementById를 사용하고 html에서 변경할 때도 작동하지 않습니다. –

+0

갖고 계신 내용의 스 니펫을 제공해 주실 수 있습니까? 문제를 재현 해보십시오. – NewToJS

답변

2

getElementsByClassName 메서드는 같은 클래스를 가진 모든 요소를 ​​반환합니다. 동일한 클래스를 가진 요소의 배열로 간주합니다. 따라서 숨길 요소를 지정해야합니다. 예를 들어, 나는 그런 클래스를 가진 원소가 하나 뿐이므로 배열의 첫 번째 원소 ([0])처럼 그것을 선택한다. 코드는 다음과 같아야합니다

document.getElementsByClassName("popular")[0].style.display = "none"; 
 

 
console.log('Current "display" property value is: ' + document.getElementsByClassName("popular")[0].style.display)
<div class="popular">TARGET</div>

+0

이 vs querySelectorAll을 사용하면 어떤 이점이 있습니까? 그냥 궁금해! – will

+1

@will,이 방법으로 사용되는 OP 및 그것을 내 대답에 포함됩니다. 'querySelectorAll'과'getElementsByClassName'은 약간 다르지만, 항상'getElementsByClassName'을 사용합니다. 차이점에 대한 자세한 내용은 https://developer.mozilla.org/ru/docs/Web/API/Document/getElementsByClassName 및 https://developer.mozilla.org/ru/docs/Web에서 확인할 수 있습니다./API/Document/querySelectorAll –

+0

어떻게 든 그 hahah을 간과했으나 정보를 주셔서 감사합니다! – will

관련 문제