Node 관계 API

노드들간의 관계정보를 담고있는 API

Node 관계 API

  • node 객체는 각 노드들의 관계정보(자식, 형제, 부모)를 담고있는 API를 제공함

    • Node.childNodes : 자식 노드들을 유사배열에 담아서 반환

    • Node.firstChild : 첫 번째 자식 노드를 반환(문자도 포함)

    • Node.lastChild : 마지막 자식 노드를 반환

    • Node.nextSibling : 다음 형제 노드를 반환

    • Node.previousSibling : 이전 형제 노드를 반환

<!DOCTYPE html>
<html lang="ko">
<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></title>
</head>
<body>
  <div id="start">
     <ul>
      <li>HTML</li>
      <li>
        CSS
        <ul>
          <li>SASS</li>
          <li>SCSS</li>
          <li>CSS-JS</li>
        </ul>
      </li>
      <li>JAVASCRIPT</li>
    </ul>
  </div>
  <script>
    var startElem = document.getElementById('start');
    
    // 줄바꿈 문자 등도 node 자식에 포함되어 ul이 아닌 개행문자를 가리키는 #text 객체 반환
    console.log(startElem.firstChild);
   
    // 줄바꿈의 다음 형제 요소인 ul태그가 반한됨
    console.log(startElem.firstChild.nextSibling);

    //개행 문자
    console.log(startElem.firstChild.nextSibling.nextSibling);
    
    // 다음 형제 요소가 없으므로 null 반환
    console.log(startElem.firstChild.nextSibling.nextSibling.nextSibling);
    
    // 모든 자식 노드를 가지는 NodeList(유사배열)를 반환
    console.log(startElem.childNodes);
  </script>
</body>
</html>

Last updated

Was this helpful?