본문 바로가기
Programming/Javascript

[Javascript] 노드 추가하기

by Bam_t 2021. 3. 29.
728x90

이전 포스트들에서 계속해서 자바스크립트에서 html의 요소에 접근하는 방법들을 다뤘었습니다. 이번에는 자바스크립트 파일에서 요소들을 추가하는 방법을 다뤄볼려고 합니다.


1. 노드 생성 - create~ 메소드

노드를 생성하는 create~ 메소드 입니다. 이 메소드는 추가하려는 노드에 따라 create뒤에 붙는 접미사가 달라집니다. 주의해야하는 점은 단순히 노드를 추가하는 기능만 하기 때문에 따로 명시적으로 추가하는 과정을 거쳐야 합니다. 우선 create~메소드들은 다음과 같습니다.

 

create~메소드 메소드가 생성하는 노드
createElement(요소) 요소
createAttribute(속성) 속성
createTextNode(텍스트) 텍스트
createComment(텍스트) 주석

 

이 외에도 create~를 통해 여러 노드들이 존재하며 다음링크에서 자세히 확인할 수 있습니다.

developer.mozilla.org/ko/docs/Web/API/Document/createElement

 

 

 

 

2. 생성된 노드를 트리구조에 추가하기 - appendChild

위에서 언급했듯이 create~는 단순히 노드를 생성하기만 하여 명시적으로 트리구조에 추가해주어야 한다고 했습니다. 그리고 그 동작을 수행하는 메소드가 appendChild()메소드입니다. 이름에서 보이듯이 Child, 즉 자식요소로 추가한다는 의미를 가졌습니다.

 

요소.appendChild(추가할 노드)

지정된 요소의 자식으로 노드를 추가한다는 appendChild 메소드였습니다.

 

appendChild는 무조건 제일 마지막의 자식요소로 추가한다는 점때문에 이를 보완하여 더 앞에 추가할 수 있습니다.

 

 

2-1. insertBefore

요소.insertBefore(추가할 노드, 요소의 자식 노드)

추가할 노드를 두번째 인수로 지정한 자식노드의 앞에 추가합니다. 즉, 형 노드의 형태로 들어올 수 있습니다. 만약 두번 째 인수를 null로 설정하면 맨끝의 자식노드로 추가됩니다. (appendChild()와 같음.)


 

728x90

'Programming > Javascript' 카테고리의 다른 글

[Javacript] 스타일 시트 접근  (0) 2021.03.31
[Javascript] 노드 변경과 삭제  (0) 2021.03.30
[Javascript] 폼 요소 접근  (0) 2021.03.26
[Javascript] 속성 값 다루기  (0) 2021.03.25
[Javascript] 이벤트  (0) 2021.03.24

댓글