개발공작소
article thumbnail
728x90
반응형

예전에 카카오맵API를 Vue컴포넌트 기반으로 가져오는 연습을 했었는데.. ( 글 참조 )

그때 썼던 게 document.createElement() 함수였다.

 

그리고 이 녀석들과 같이 쓰는 함수들은 아래와 같은데

 

document.createElement() //요소(태그) 생성
document.createTextNode() // 요소(태그)안에 텍스트 생성
document.[head or body].appendChild() //요소(태그)를 헤더나 바디에 부착

 

그럼 바로 테스트를 통해서 알아보자.

 

스크립트

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
    <div id="app"></div>
</body>
<script>
    new Vue({
        el : '#app',
        mounted() {
            // <h1>태그를 생성하여 script변수에 담음
            let script = document.createElement('h1');
            // <h1>태그 안에 들어 갈 텍스트를 txt변수에 담음
            let txt = document.createTextNode('createElement 테스트입니다.');
            // <h1>태그를 담은 script변수에 txt변수를 append(추가) 해줌
            script.appendChild(txt);
            // <h1>태그를 담은 script변수에 이벤트 리스너를 추가해줌
            script.addEventListener('click', this.popMethod);
            // DOM의 body영역에 script를 append 해줌
            document.body.appendChild(script);
        },
        methods: {
            popMethod : function(){
                alert('addEventListener테스트입니다.');
            }
        },
    })
</script>
</html>

 

이렇게 하면 정상적으로 body태그 안에 해당 스크립트 태그가 부착이 될 것이다.. 아래는 실행결과

 

 

그리고 클릭을 하면 팝업창이 뜨면서 이벤트 리스너도 제대로 들어 간 것을 확인 할 수 있다.

 

 

 

<script> 태그에 src 속성을 넣어 외부 라이브러리 ( cdn )등을 가져 올 수도 있다. 해당 건은

카카오맵API 글에 있으니 참고 하도록 하자.

 

script태그의 src

728x90
반응형
profile

개발공작소

@모찌바라기

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!