html 문서 구성요소 몇개를 0으로 만드는 함수를 제작하려 함.
list = ["id1", "id2", "id3" ... ] 이렇게 참조할 아이디 값을 리스트로 만들었음
반복문으로
for (const target of list) {
document.getElementById(target).innerHTML = "0";
}
위와 같이 만들었는데
함수 작동시키면 콘솔창에
Cannot set properties of null (setting 'innerHTML') 에러가 뜨며 작동 안됨
"0"; <-여기 이 부분에 빨간줄 그어져 있음
해결 시도해보려고
1. html 문서 최하단에 함수를 만들었음
2. 변수 각각 하나하나 넣어서 콘솔창에 입력하면 오류 발생안함
3. id값 틀렸는지 확인
계속 작동 안되는데 뭐가 문제냐
아 이거
너가 문제임
전체코드가 있어야 할거같은데 window.onload(() => {})로 콜백에 저거 넣어보는건 어떨지
해당 노드들을 잡지 못해서 그런거같은데
에러도 못읽냐 innerHTML프로퍼티가 없다잖아 없는엘리먼트니까 null이나오고 거기 접근이 안되는거
최하단에 만든다고 로드 끝나고 실행된다는게 아님. 위에 말대로 onload 안에 써보셈. 콘솔로 각각했다는게 어떤 상황인지 확실히는 모르겠지만 개발자 도구에서 한거면 이미 로드 끝나서 된거일듯 글고 setattribute 안쓰고 =으로 한거 킹받네.
정보: js 런타임 환경에는 debugger;라는 훌륭한 디버깅 도구가 있다
그거 어케씀
innerText로 써보셈 innerHTML은 dom 넣는 api임