커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
스크립트 코드가 if문에서 안먹혀요
코딩이 처음이어도 쉽게 배우는 웹개발 A to Z v0
0주차
북마크
김*아
댓글
3
추천
0
조회수
9
조회수
9
답변 완료

콘솔 에러는 없어요

스파르타 즉문즉답

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


<script>

function q1() {

let url = 'http://spartacodingclub.shop/sparta_api/seoulair'

$('#names-q1').empty();

fetch(url).then(res => res.json()).then(data => {

let rows = data['RealtimeCityAir']['row'];

rows.forEach(a => {

let gu_name = a['MSRSTE_NM'];

let gu_mise = a['IDEX_MVL'];

let temp_html = ``;

if (gu_mise > 40) {

let temp_html = `<li class = "bad">${gu_name} : ${gu_mise}</li>`;

$('#names-q1').append(temp_html);

} else {

let temp_html = `<li>${gu_name} : ${gu_mise}</li>`;


$('#names-q1').append(temp_html);

}


});

})

}

</script>


여기서 강좌에는 if문 바깥에 append 함수를 넣어서 반복호출하는걸로 나와있는데 저는 그렇게하니까 empty까지만 동작하고 append가 동작하지 않아요

if(gu_mise > 40) {

console.log(gu_mise);

}

이러면 출력되는데 왜 append 는 출력이 안되는거에요?


<!doctype html>
<html lang="ko">


<head><meta charset="UTF-8"><title>미세먼지 API로Fetch 연습하고 가기!</title>


    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>


    <style type="text/css">
        div.question-box {
            margin: 10px 0 20px 0;
        }


        .bad {
            color: red;
        }
    </style>


    <script>function q1() {
            let url = 'http://spartacodingclub.shop/sparta_api/seoulair'
            $('#names-q1').empty();
            fetch(url).then(res => res.json()).then(data => {
                let rows = data['RealtimeCityAir']['row'];
                rows.forEach(a => {
                    let gu_name = a['MSRSTE_NM'];
                    let gu_mise = a['IDEX_MVL'];
                    let temp_html = ``;
                    if (gu_mise > 40) {
                        let temp_html = `<li class = "bad">${gu_name} : ${gu_mise}</li>`;
                    } else {
                        let temp_html = `<li>${gu_name} : ${gu_mise}</li>`;


                    }
                    $('#names-q1').append(temp_html);


                });
            })
        }
    </script>


</head>


<body><h1>Fetch 연습하자!</h1>


    <hr />


    <div class="question-box"><h2>1. 서울시 OpenAPI(실시간 미세먼지 상태)를 이용하기</h2><p>모든 구의 미세먼지를 표기해주세요</p><p>업데이트 버튼을 누를 때마다 지웠다 새로 씌여져야 합니다.</p><button onclick="q1()">업데이트</button><ul id="names-q1"><li>중구 : 82</li><li>종로구 : 87</li><li>용산구 : 84</li><li>은평구 : 82</li></ul></div>
</body>


</html>


이 상태면 동작을 안하고 if문 안에

$('#names-q1').append(temp_html);

를 직접 넣어야 동작합니다.



작성한 코드 및 에러 메세지

오류 발생 시, 작성한 코드 전체와 에러 메시지를 첨부해 주세요.


에러메세지는 없습니다.

Tip 1) </> 아이콘을 눌러 코드박스를 만들어 보세요.

Tip 2) Ctrl+A(맥의 경우 Command+A) 단축키로 코드를 한 번에 선택할 수 있어요!



취소
 공유
취소
댓글 0
댓글 알림
나의얼굴