어제 오늘 내일
Javascript를 이용하여 dom에서 특정 부모 노드가 가지는 특정 자식 노드를 찾는 방법입니다.
부모 노드를 선택하거나, 특정 자식 노드를 선택할 때 getElementById(), getElementsByClassName(), querySelector() 등의 노드 선택 함수를 사용할 수 있습니다. 노드를 선택하는 방법은 지난 포스팅을 참조하세요. [Javascript] 선택자, DOM 특정 요소(element) 찾기 Javascript에서 DOM의 특정 요소(element)를 찾는 방법을 정리합니다. 1. getElementById() 2. getElementsByClassName() 3. getElementByTagName() 4. querySelector() 5. querySelectorAll() 1. getElementById(.. hianna.tistory.com 예제
위 예제의 dom에는 'fruit', 'animal' 2개의 <ul>이 있습니다. 그리고, 그 2개의 <ul> 하위에는 'p1', 'p2' 클래스를 가지는 <li>가 각각 존재합니다. 여기서는 'animal' 노드 하위에 'p1' 클래스를 가지는 노드를 선택하려고 합니다. 'fruit' 노드 하위의 'p1' 클래스를 선택해서는 안됩니다. const parent = document.getElementById('animal'); 부모 노드를 먼저 선택합니다. const p1 = parent.getElementsByClassName('p1'); 클래스 이름으로 부모 노드 하위의 노드를 검색합니다. 동일한 클래스 이름은 여러번 중복될 수 있기 때문에 getElementsByClassName() 함수는 유사 배열 형태인 HTMLCollection을 리턴합니다. p1.length; p1[0].innerText; 'animal' 노드 하위의 'p1' 클래스 노드는 1건입니다. 그리고, 그 노드의 텍스트는 '강아지'입니다. 예제에서는 하위의 특정 노드를 선택하기 위해 getElementsByClassName() 메소드를 사용하였지만 getElementById()를 사용하여 id로 노드를 검색하거나, getElementByTagName()을 사용하여 태그 이름으로 노드를 검색할 수도 있습니다. querySelector(), querySelectorAll() 함수를 사용하여 id, 클래스 이름, 태그 이름 등 다양한 형태로 노드를 검색할 수도 있습니다. 자세한 방법은 아래의 지난 포스팅을 참조하세요. [Javascript] 선택자, DOM 특정 요소(element) 찾기 Javascript에서 DOM의 특정 요소(element)를 찾는 방법을 정리합니다. 1. getElementById() 2. getElementsByClassName() 3. getElementByTagName() 4. querySelector() 5. querySelectorAll() 1. getElementById(.. hianna.tistory.com getElementsByTagName(), getElementsByClassName() : 의 결과 값은 검색된 모든 노드를 NodeList 라는 객체에 담아서 반환이 됨. NodeList 는 자주 사용하는 배열과 비슷한 일종의 ArrayList 컬렉션 객체로 DOM 객체 중 하나임. createElement() : 노드 생성 및 추가 createTextNode() : 텍스트 노드 생성 및 추가 appendChild() : 특정 태그의 자식 노드로 추가 insertBefore() : 특정 노드 이전에 노드 추가
- childNodes : 모든 자식 노드의 정보가 담겨져 있음. - parentNode : 부모 노드의 정보가 담겨져 있음. - previousSibling.previousSibling : 현 위치에서 이전 형제 노드 - nextSibling.nextSibling : 현 위치에서 이후 형제 노드 기본 뼈대
특정 태그의 n번째 노드에 접근하기
자식 노드에서 특정 태그 이름을 반환받아 특정 위치의 노드 찾기
특정 클래스가 적용된 노드 찾기
특정 ID를 가진 노드 찾기
자식 노드 찾기
텍스트 노드는 스타일을 적용할 수 없으므로 스타일이 변화하지 않는다. 부모 노드 찾기
형제 노드 찾기
Document.createElement() 메서드를 이용하여 노드 생성 및 추가하기
Node.cloneNode() 메서드를 이용하여 노드 생성
노드 삭제
노드 이동시키기 |