document.createElement
우리는 랜더링의 중간 과정 중 DOM 단계에서 document 을 통해 개체에 접근할 수 있습니다.
document의 createElement 메소드는 지정된 이름의 HTML 요소를 만들어 반환해 줍니다.
상기 코드로 HTML 에는 <div> <p> <a> 태그가 생성이 됩니다.
이 기능을 활용하면 <ul> <li> 리스트를 작성하는 것도 가능합니다.
하지만 이것은 화면에서 반환하는 것이 아니라 DOM 단계에서 반환하기 때문에 화면에 추가되지 않습니다.
화면에 추가하기 위해서는 그 다음으로 appendChild 메소드를 사용해야 합니다.
appendChild
appendChild 메소드는 DOM 내 개별 요소(‘노드’라고도 함)에 자식 요소를 추가할 때 사용하는 메소드입니다.
appendChild 를 해줌으로써 document의 createElement 로 추가된 HTML 태그가 화면에 추가 됩니다.
appendChild는 개별 요소가 다 가지고 있는 요소입니다. 즉, 노드 트리에 구성하고 있는 노드를 추가해주는 것 입니다.
appendChild 메소드 vs append 메소드
appendChild 메소드와 비슷한 역할을 하는 append 메소드도 있습니다.
둘 다 타겟 요소에 자식 요소를 추가한다는 점에서 같지만, 다음과 같은 차이점이 있습니다.
appendChild | append |
DOM 내에 Html 요소가 추가되는 반환값이 있다. | append 는 반환 데이터가 없다. (return 값을 반환하지 않는다.) 자바의 void 에 해당한다. |
요소에 노드(객체요소) 또는 DOMString (text)문자열을 자식 요소로 추가할 수 있다. | 노드(객체요소)만을 추가할 수 있다. |
한 번에 여러 개의 노드를 추가할 수 있다. | 한 번에 오직 한 개의 노드만을 추가할 수 있다. |
value
<input>, <select> 처럼 입력 값을 받을 때 사용되는 요소들이 있습니다.
여기에서 사용자가 입력한 값을 읽어들일 때에는 요소의 value 속성에 접근을 해야 합니다.
즉 어떤 요소에 접근하고자 할 때 다음과 같은 차이가 있습니다.
- 요소의 텍스트에 접근하고 싶다 : textContent 또는 innerText
- 사용자가 요소에 입력한 값에 접근하고 싶다 : value
여기서 '접근' 이라는 말을 쓰는데 이는 입력 요소의 value 에서 읽고 쓰는 것을 말합니다.
즉 입력된 요소에 대해서 콘솔에 출력을 하건, 사용자의 입력값을 변경할 수 있는 것이에요.
value 를 사용하는 형태는 다음과 같습니다.
value 로 form의 값에 접근하기
자바스크립트에서 document, 즉 HTML에 작성한 form 에 접근하는 방법이 여러가지가 있습니다.
1. form 에 이름을 주고 자바스크립트에서 이름으로 접근
HTML form name = "myForm"
자바스크립트에서 let f = document.myForm;
2. form 의 인덱스 번호로 접근
HTML 문서에서 첫번째 form 에 접그
let f = document.forms[0];
3. 폼 태그 안에 있는 name 값을 가져올 수 있습니다.
let name = document.myForm.name.value;
4. 객체의 이름 속성을 이용해서 접근 (요소 뒤에 s를 붙여야 합니다. 값이 여러개가 있을 수도 있기 때문에)
let birth = document.getElementsByName("birth")[0].value;
(= 요소들 중 이름이 birth 인 0 번째 인덱스 값을 가져온다.)
5. id 속성을 통해서 접근 (name 과 비슷)
let age = document.getElementById("age").value;
6. 선택자로 접근하기, 해당 선택자의 첫 번째 요소
obj = document.querySelector(".layout)
이렇게 value 로 값을 가져오기 위해서는 form 에서 여러 입력 값을 설정해주면 됩니다.
<form action="이벤트 객체">
<input name = "nickname" placeholder="닉네임"/>
<input name = "character" placeholder="특징"/>
<input type="submit" value="입력완료 "/>
</form>"
form에서 이벤트가 제출되는 submit 이벤트가 발생하면 action 속성의 url 로 입력값이 제출되지만,
이벤트 객체를 통해 기본 기능을 차단할 수 있습니다.
여기까지 개체와 값의 접근에 대해서 알아보았습니다.
이후에 생성자에 대해서 알아볼게요.
'자바 > 자바 입문 공부일지' 카테고리의 다른 글
Spring 공부 일지 02. Path Variable 및 json 데이터 응답 포스트맨으로 확인 (0) | 2023.02.06 |
---|---|
자바 기초 공부 일지 54. 쓰레드Thread 생성과 쓰레드 동기화 방법 (0) | 2022.11.08 |
자바 기초 공부 일지 53. I/O 스트림(InputStream, OutputStream) (작성중) (0) | 2022.11.08 |
자바 기초 공부 일지 52. 버퍼 (작성 수정중) (0) | 2022.11.08 |
자바 기초 공부 일지 51. 리덕션, 맵핑Mapping (Map, faltMap) (작성중) (0) | 2022.11.07 |