<!DOCTYPE html>

<html>


<head>

    <title>problem 4</title>

    <script>

        function pop() {

            var obj = document.getElementById("target");

            obj.innerHTML; = "나의 <img src='ferret.jpg'>페럿";              //문제의 innerHTML

        }

    </script>

</head>


<body>

    <h3>innerHTML 활용 : 아래 글자에 클릭하면 예쁜 페럿이 보입니다.</h3>

    <hr>

    <p style="color: blue;" onclick="pop()" id="target">여기에

        <span style="color: red;">클릭하세요</span>

    </p>

</body>


</html>


obj.innerHTML로 쓰니 body에서 pop()함수가 잘 작동이 되는데요.

제가 처음에는

function pop() {

            var obj = document.getElementById("target").innerHTML;

            obj = "나의 <img src='ferret.jpg'>페럿";

        }

로 했는데 실행이 안되더라구요.


var obj = docu~.getEle~("id").innerHTML;

alert(obj);

이 소스코드에서는 innerHTML이 obj 정의에 들어가도 잘 작동했는데 왜 위의 소스코드에서는 작동을 안하나요?


결론

변수 선언할 때 innerHTML을 뒤에 붙이니 실행이 안된다

변수 선언 후 변수에 innerHTML을 붙이니 실행이 된다

무슨 차이인지?