내일배움캠프 자바스크립트 기초반 과제
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div class="number">1</div>
<div class="number">2</div>
<div class="number">3</div>
<script src="5.js"></script>
</body>
</html>
내가 생각한 방법
// 내가 작성한 코드
const numBer = document.querySelectorAll('.number');
for (let i = 0; i < numBer.length; i++) {
numBer[i].innerHTML = numBer[i].innerHTML + 10;
}
결과값
각 div 태그의 값인 숫자에 +10이 된 값이 도출될 줄 알았는데, 문자열처럼 숫자들이 붙어버리고 말았다.
문제점
해결방법
수정한 코드
const numberElements = document.querySelectorAll('.number');
for (let i = 0; i < numberElements.length; i++) {
const currentValue = parseInt(numberElements[i].innerText, 10);
const newValue = currentValue + 10;
numberElements[i].innerText = newValue.toString();
}
보통 우리가 사용하는 수는 10진수이므로 두번째 인자로 10을 넣어준다.
두번째 인자는 생략하여도 값이 도출되긴 하지만, 혹시라도 발생할 오류를 막기 위해
적어주는 것이 낫다.
결과 확인
원하는 대로 브라우저에서 잘 읽은 것을 확인할 수 있다.