인프런 커뮤니티 질문&답변
에러는 안나는데 그림이 안뜹니다
작성
·
197
0
그랩마켓 자바스크립트 적용하기 -2 편에서 다 되는데 농구공 그림이 안떠요
<html>
<head>
    <title>그랩마켓</title>
    <link href="index.css" type="text/css" rel="stylesheet" />
</head>
<body>
    <div id="header">
        <div id="header-area">
            <img src="images/icons/logo.png" />
        </div>
    </div>
    <div id="body">
        <div id="banner">
            <img src="images/banners/banner1.png">
        </div>
        <h1>판매되는 상품들</h1>
        <div id="product-list">
            
    </div>
    </div>
    <div id="footer"></div>
</body>
<script>
    var product = [{
        name : '농구공',
        price : 10000,
        seller : '조던',
        imagUrl : '/images/products/basketball1.jpeg'
    },{
        name : '축구공',
        price : 50000,
        seller : '메시',
        ImageUrl : '/images/prodocts/soccerball1.jpg'
    },{
        name : '키보드',
        price : 10000,
        seller :'그랩',
        ImageUrl : '/images/prodocts/keyboard.jpg'
    }];
    document.querySelector("#product-list").innerHTML =
     '<div class="product-card>'+
    "<div>" +
    '<img class="product-img" src="images/products/basketball1.jpeg" />' +
    "</div>" +
    '<div class="product-contents">' +
    '<span class="product-name">농구공 1호</span>' +
    '<span class="product-price">50000원</span>' +
    '<div class="product-seller">' +
    '<img class="product-avatar" src="images/icons/avatar.png" />'+
    "<span>그랩</span>" +
    "</div>" +
    "</div>" +
    "</div>"
</script>
</html>답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
신승아님, 제공해 주신 코드를 보니 몇 가지 오타로 인해 이미지가 표시되지 않는 것 같습니다.
imgUrl이라고 적혀 있는 변수명이ImageUrl로 사용되어야 하는 부분이 있습니다. 변수명은 대소문자를 구분하기 때문에 일관성 있게imageUrl로 통일해야 합니다.document.querySelector("#product-list").innerHTML로 상품 리스트를 추가하는 코드 내의 HTML 문자열에서 따옴표를 닫는 부분이 잘못되었습니다.<div class="product-card">뒤에 따옴표가"가 아닌\로 되어 있습니다.타이핑한
ImageUrl속성값에서 경로명이'/images/prodocts/...으로 잘못된 폴더명을 사용하고 있습니다. 이는 ‘/images/products/…‘로 수정해야 합니다.
수정된 코드는 다음과 같습니다:
<script>
    var product = [{
        name : '농구공',
        price : 10000,
        seller : '조던',
        imageUrl : '/images/products/basketball1.jpeg'
    },{
        name : '축구공',
        price : 50000,
        seller : '메시',
        imageUrl : '/images/products/soccerball1.jpg'
    },{
        name : '키보드',
        price : 10000,
        seller :'그랩',
        imageUrl : '/images/products/keyboard.jpg'
    }];
    document.querySelector("#product-list").innerHTML =
    '<div class="product-card">'+
    "<div>" +
    '<img class="product-img" src="'+product[0].imageUrl+'" />' +
    "</div>" +
    '<div class="product-contents">' +
    '<span class="product-name">'+product[0].name+'</span>' +
    '<span class="product-price">'+product[0].price+'원</span>' +
    '<div class="product-seller">' +
    '<img class="product-avatar" src="images/icons/avatar.png" />'+
    "<span>"+product[0].seller+"</span>" +
    "</div>" +
    "</div>" +
    "</div>"
</script>
위와 같이 코드를 수정하고 나면 농구공 이미지가 정상적으로 표시될 것으로 기대할 수 있습니다.





여기서도 맞춤법이 틀린걸까요 ㅠㅠ