JavaScript를 사용하여 DOM 노드를 수정하는 방법

PHPz
풀어 주다: 2023-04-19 14:34:34
원래의
1385명이 탐색했습니다.

웹 애플리케이션이 개발되면서 JavaScript는 필수적인 부분이 되었습니다. JavaScript를 사용하여 웹 콘텐츠를 수정하고 동적 효과를 얻을 수 있습니다. 그 중에서도 DOM을 수정하는 것은 웹페이지와 상호작용하는 핵심이기 때문에 매우 중요한 부분입니다.

DOM이란 무엇인가요?
DOM은 HTML 문서의 트리 구조 표현인 문서 개체 모델입니다. 이 문서에서 각 HTML 요소는 ,

,

등과 같은 노드입니다. 예를 들어, 노드

는 하위 노드를 포함할 수 있으며 클래스, ID 등과 같은 속성도 가질 수 있습니다. JavaScript는 이러한 노드를 조작하여 웹페이지의 콘텐츠를 변경합니다.

노드를 선택하는 방법은 무엇입니까?
DOM을 조작하려면 노드를 선택해야 합니다. 이는 다양한 방법으로 달성할 수 있으며 주요 방법은 다음과 같습니다.

  1. ID로 노드 선택

document.getElementById() 메서드를 사용하여 지정된 ID를 기반으로 노드를 선택합니다. 아래와 같이:

var myNode = document.getElementById("myNode");
로그인 후 복사

위 코드는 id="myNode"인 HTML 요소를 선택합니다.

  1. 클래스별로 노드 선택

동일한 클래스 속성을 가진 하나 이상의 노드를 선택하려면 getElementsByClassName() 메서드를 사용할 수 있습니다. 아래와 같이:

var myNodes = document.getElementsByClassName("classNode");
로그인 후 복사

위 코드는 클래스 속성이 "classNode"와 동일한 모든 HTML 요소를 선택합니다.

  1. 태그 이름으로 노드 선택

지정된 태그 이름을 가진 모든 노드를 선택하려면 getElementsByTagName() 메서드를 사용할 수 있습니다. 아래와 같이:

var myNodes = document.getElementsByTagName("p");
로그인 후 복사

위 코드는 문서의 모든

태그를 선택합니다.

DOM 노드 속성의 작동
DOM 노드에는 ID, 클래스, 제목 등과 같은 많은 속성이 있습니다. JavaScript를 통해 이러한 속성의 값을 수정하거나 가져올 수 있습니다. 다음은 일반적으로 사용되는 DOM 노드 속성 조작 방법입니다.

  1. innerHTML 속성 가져오기 또는 설정

getInnerHTML() 메서드를 사용하여 노드의 innerHTML 속성을 가져올 수 있습니다. setInnerHTML() 메서드를 사용하여 노드의 innerHTML 속성을 설정할 수도 있습니다. 아래와 같이

var myNode = document.getElementById("myNode"); // 获取节点的innerHTML属性 var myNodeInnerHTML = myNode.innerHTML; // 设置节点的innerHTML属性 myNode.innerHTML = "新的HTML内容";
로그인 후 복사
  1. innerText 속성을 가져오거나 설정하세요

innerText 속성을 얻으려면 getInnerText() 메서드를 사용하고, innerText 속성을 설정하려면 setInnerText() 메서드를 사용할 수 있습니다. 아래와 같이

var myNode = document.getElementById("myNode"); // 获取节点的innerText属性 var myNodeInnerText = myNode.innerText; // 设置节点的innerText属性 myNode.innerText = "新的文本内容";
로그인 후 복사
  1. nodeType 속성을 가져오거나 설정합니다.

nodeType 속성은 현재 노드의 유형을 반환합니다. getNodeType() 메서드를 사용하여 노드의 nodeType 속성을 가져올 수 있습니다. setNodeType() 메서드를 사용하여 노드의 nodeType 속성을 설정할 수도 있습니다. 아래와 같이

var myNode = document.getElementById("myNode"); // 获取节点的nodeType属性 var myNodeType = myNode.nodeType; // 设置节点的nodeType属性 myNode.nodeType = 1;
로그인 후 복사
  1. nodeName 속성을 가져오거나 설정합니다.

nodeName 속성은 노드의 이름을 반환합니다. getnodeName() 메서드를 사용하여 노드의 nodeName 속성을 가져올 수 있습니다. setnodeName() 메서드를 사용하여 노드의 nodeName 속성을 설정할 수도 있습니다. 아래와 같이:

var myNode = document.getElementById("myNode"); // 获取节点的nodeName属性 var myNodeName = myNode.nodeName; // 设置节点的nodeName属性 myNode.nodeName = "span";
로그인 후 복사
  1. nodeValue 속성을 가져오거나 설정합니다.

nodeValue 속성은 노드의 값을 반환하거나 설정합니다. nodeValue 속성은 getNodeValue() 메서드를 사용하여 얻을 수 있습니다. 속성 값을 설정하려면 setNodeValue() 메서드를 사용합니다. 아래와 같이:

var myNode = document.getElementById("myNode"); // 获取节点的nodeValue属性 var myNodeValue = myNode.nodeValue; // 设置节点的nodeValue属性 myNode.nodeValue = "新的节点内容";
로그인 후 복사
  1. className 속성을 가져오거나 설정합니다.

className 속성은 노드의 클래스 이름을 반환하거나 설정합니다. className 속성은 getclassName() 메서드를 사용하여 얻을 수 있습니다. 속성 값을 설정하려면 setclassName() 메서드를 사용할 수 있습니다. 아래와 같이

var myNode = document.getElementById("myNode"); // 获取节点的className属性 var myClassName = myNode.className; // 设置节点的className属性 myNode.className = "newClass";
로그인 후 복사
  1. id 속성을 가져오거나 설정합니다.

id 속성은 노드의 ID를 반환하거나 설정합니다. id 속성은 getId() 메소드를 사용하여 얻을 수 있습니다. 속성 값을 설정하려면 setId() 메소드를 사용할 수 있습니다. 아래와 같이

var myNode = document.getElementById("myNode"); // 获取节点的id属性 var myId = myNode.id; // 设置节点的id属性 myNode.id = "newNode";
로그인 후 복사

DOM 노드 생성 및 삽입
DOM 노드 속성을 수정하는 것 외에도 DOM 노드를 생성하여 기존 DOM 구조에 삽입할 수도 있습니다.

DOM 노드 만들기
DOM 노드를 만들려면 createElement() 메서드를 사용할 수 있습니다. 아래와 같이:

// 创建一个新的 

元素 var newNode = document.createElement("p"); // 设置元素的内容 newNode.innerHTML = "新的 HTML 内容"; // 将新元素添加到文档中 document.body.appendChild(newNode);

로그인 후 복사

DOM 노드 삽입
DOM 노드를 삽입하는 방법은 다음과 같습니다.

  1. 상위 노드 삽입
    상위 노드 끝에 요소를 추가하려면appendChild() 메서드를 사용하세요. 아래와 같이:
var parent = document.getElementById("parent"); // 创建新的 
  • 元素 var newNode = document.createElement("li"); // 设置元素的内容 newNode.innerHTML = "新的列表项"; // 将新元素添加到父节点的末尾 parent.appendChild(newNode);
  • 로그인 후 복사
    1. Insert 형제 노드
      insertBefore() 메서드를 사용하여 다른 노드 앞에 새 노드를 삽입합니다. 아래와 같이
    var newNode = document.createElement("li"); // 设置元素的内容 newNode.innerHTML = "新的列表项"; // 将新元素添加到 "node" 元素之前 parent.insertBefore(newNode, node);
    로그인 후 복사
    1. Replace Node
      replaceChild() 메서드를 사용하여 노드를 교체합니다. 아래와 같이
    var newNode = document.createElement("li"); // 设置元素的内容 newNode.innerHTML = "新的列表项"; // 替换父节点下的第二个子节点 parent.replaceChild(newNode, parent.childNodes[1]);
    로그인 후 복사

    DOM 노드 제거
    DOM 노드는 다양한 방법으로 제거할 수 있습니다. 다음은 일반적으로 사용되는 몇 가지 방법입니다.

    1. 하위 노드 제거
      removeChild() 메서드를 사용하여 하위 노드를 제거합니다. 아래와 같이
    var parent = document.getElementById("parent"); // 移除 "node" 元素 parent.removeChild(node);
    로그인 후 복사
    1. Remove self
      remove() 메소드를 사용하여 노드 자체를 제거할 수 있습니다. 아래와 같이
    var node = document.getElementById("node"); // 移除节点本身 node.remove();
    로그인 후 복사

    요약
    JavaScript를 사용하여 DOM을 조작하면 HTML 마크업 및 텍스트 콘텐츠를 포함한 웹페이지 콘텐츠를 쉽게 수정할 수 있습니다. 노드를 선택하고, 노드 속성을 변경하고, 새 요소를 생성 및 삽입하고, 기존 노드를 삭제할 수 있습니다. 이러한 작업을 통해 웹사이트는 사용자 행동을 동적으로 업데이트하고 응답할 수 있습니다.

    위 내용은 JavaScript를 사용하여 DOM 노드를 수정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    원천:php.cn
    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿
    회사 소개 부인 성명 Sitemap
    PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!