문제 상황 : 의도한 웹 페이지가 렌더링 되지 않고, 브라우저 화면에 [object HTMLElement]가 표시됨
원인 : DOM 객체가 HTML 엘리먼트의 내용(content)으로 전달됨
해결방안 : append 메소드를 사용하여 DOM 객체를 자식 노드로 연결하기
에러 코드 (innerHTML 메소드 사용)
// page.js
module.exports = function createHTML () {
const main = document.createElement('main');
const h1 = document.createElement('h1');
h1.textContent = '페이지';
const div = document.createElement('div');
div.textContent = '내용';
main.append(h1, div)
return main;
}
// index.js
const Template = require("./page.js");
const contentDiv = document.querySelector('#root')
contentDiv.innerHTML = Template();
// innerHTML 메소드로 DOM 객체가 HTML 엘리먼트의 내용(content)에 추가됨
수정된 코드 (append 메소드 사용)
// page.js
module.exports = function createHTML () {
const main = document.createElement('main');
const h1 = document.createElement('h1');
h1.textContent = '페이지';
const div = document.createElement('div');
div.textContent = '내용';
main.append(h1, div)
return main;
}
// index.js
const Template = require("./page.js");
const contentDiv = document.querySelector('#root')
contentDiv.append(Template());
// append 문법을 사용하여 DOM 객체를 자식 노드로 연결
반응형
'프로그래밍 > 웹 개발' 카테고리의 다른 글
[Chart.js] 차트 축의 최소/최대값 설정하기 (0) | 2022.01.19 |
---|---|
[바닐라 JavaScript] 화면 전환과 리렌더링 (에러핸들링) (0) | 2022.01.18 |
[SPA] HTML 대신 JavaScript로 웹페이지 제작 후 이벤트 함수 등록 (0) | 2022.01.17 |
[Firebase] Uncaught FirebaseError: Missing or insufficient permissions (0) | 2022.01.17 |
[React] 리액트의 카카오맵 API - 인포윈도우 위에 클릭 이벤트 등록하기 (0) | 2021.11.23 |
댓글