티스토리 뷰
목차
실습문제
링크명, 링크경로가 담겨있는 배열을 통해서
연습2 버튼 클릭 시 동적으로 a 요소들을 생성해서
#practiceResult 영역에 출력하시오
단, 링크 클릭 시 새탭에 열리도록 설정
function 함수 작성 중 오류 발생으로 실행이 되지 않는 문제가 발생했습니다. 오류가 발생한 원인과 원인을 어떻게 해결했는지 아래에 작성해보도록 하겠습니다.
<div class="practiceResult"></div>
function fnPractice2() {
const sites = [
'네이버', 'https://www.naver.com',
'구글', 'https://www.gogle.com',
'카카오', 'https://www.kakao.com',
];
// <a href="xxxxx" target="_blank">xxx</a>
const resultEl = document.getElementById("practiceResult");
for(let i=0; i<site.length; i+=2){
resultEl.innerHTML += '<a href="' + site[i+1] + '"target="_blank">' + sites[i] + "</a><br>"
}
}
</script>
🚨 오류
▶Uncaught
TypeError: Cannot read properties of null (reading 'innerHTML')
at fnPractice2 (실습문제 풀이.html:45:9)
at HTMLButtonElement.onclick (실습문제 풀이.html:12:36)
👀 구글번역
▶잡히지 않음
TypeError: null 속성을 읽을 수 없습니다('innerHTML' 읽기).
at fnPractice2 (실습문제 풀이.html:45:9)
at HTMLButtonElement.onclick (실습문제 풀이.html:12:36)
❓ 원인
오타를 작성했습니다.
getElementById("pacticeResult ");
✅ 해결
오타를 수정했습니다.
getElementById("practiceResult");
🚨 오류
▶Uncaught
실습문제풀이.html:45 Uncaught
ReferenceError: site is not defined
👀 구글번역
▶잡히지 않음
실습문제풀이.html:45 Uncaught
ReferenceError: 사이트가 정의되지 않았습니다.
❓ 원인
const 변수명을 "sites"로 정의한 후에 for문 내에 있는 변수명을 "s"를 뺀 오타를 작성했습니다.
for (let i = 0; i < site.length; i += 2) {
resultEl.innerHTML += '<a href="' + site[i + 1] + '"target="_blank">' + site[i] + "</a><br>"
}
✅ 해결
오타 수정 후 정상적으로 실행했습니다.
for (let i = 0; i < sites.length; i += 2) {
resultEl.innerHTML += '<a href="' + sites[i + 1] + '"target="_blank">' + sites[i] + "</a><br>"
}
🚨 오류
▶Uncaught
Uncaught TypeError: Cannot read properties of null (reading 'innerHTML')
at fnPractice2 (실습문제 풀이.html:45:9)
at HTMLButtonElement.onclick (실습문제 풀이.html:12:36)
👀 구글번역
▶잡히지 않음
잡히지 않은 TypeError: null 속성을 읽을 수 없습니다('innerHTML' 읽기)
at fnPractice2 (실습문제 풀이.html:45:9)
at HTMLButtonElement.onclick (실습문제 풀이.html:12:36)
❓ 원인
div 속성을 id가 아닌 class로 작성했습니다.
<div class="practiceResult"></div>
✅ 해결
div 속성을 class에서 id로 수정했습니다.
<div id="practiceResult"></div>
👉 문제가 전부 해결 된 함수
문법을 알고 변수를 정의해두었다고 해도 따옴표를 빼먹거나 오타를 발생해서 오류가 뜨는 경우가 대다수인 것 같습니다. 코드 작성 시 오타에 주의하는 습관을 들여보도록 하겠습니다. 그리고 항상 콘솔창의 오류를 확인하는 습관을 들여보도록 하겠습니다.
<div id="practiceResult"></div>
function fnPractice2() {
// 하단의 링크명, 링크경로가 담겨있는 배열을 통해서
// 연습2 버튼 클릭 시 동적으로 a 요소들을 생성해서
// #practiceResult 영역에 출력하시오
// 단, 링크 클릭 시 새탭에 열리도록 설정
const sites = [
'네이버', 'https://www.naver.com',
'구글', 'https://www.gogle.com',
'카카오', 'https://www.kakao.com',
];
// <a href="xxxxx" target="_blank">xxx</a>
const resultEl = document.getElementById("practiceResult");
for (let i = 0; i < sites.length; i += 2) {
resultEl.innerHTML += '<a href="' + sites[i + 1] + '"target="_blank">' + sites[i] + "</a><br>"
}
}
'JavaScript > 오류해결하기' 카테고리의 다른 글
JavaScript 오류 해결하기-4 (0) | 2024.08.14 |
---|---|
JavaScript 오류 해결하기-3 (0) | 2024.08.13 |
JavaScript 오류 해결하기-2 (0) | 2024.08.13 |
- Total
- Today
- Yesterday
- oracle 자원 사용 권한 주는 명령어
- 파이썬 else 문
- 파이썬 elif문
- oracle 권한주는 명령어
- 코딩활용능력 기출문제
- oracle 사용자 계정 만들기
- 정보처리 기능사 필기 준비
- 정보처리기능사 필기 준비
- 정보처리산업기사 자격증
- 코딩활용능력자격증 문제풀이
- 코딩활용능력 자격증 기출문제
- 코딩활용능력 시험일정
- oracle 시스템 명령어
- 정보처리기능사 자격증 문제
- 코딩활용능력자격증
- 코딩활용능력 자격증 조건문
- 코딩활용능력 자격증 시험문제
- 코딩활용능력자격증 문제
- oracle 권한 부여 명령어
- 개발자 자격증 준비
- oracla 사용자 계정 만드는 방법
- ocalce 사용자 계정 삭제하는 방법
- 정보처리기능사 시험 문제
- 정보처리기능사 필기 문제
- 정보처리기능가 필기 시험문제
- 정보처리기능사 준비
- 정보처리기능사 자격증 준비
- 코딩활용능력 자격증 파이썬
- 코딩활용능력 자격증
- Oracle
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |