노드 생성
새 노드를 생성하려면 createElement 및 createTextNode를 사용하면 됩니다. 새 생성이 완료되면 addChild()를 사용하여 DOM 트리에 노드를 추가할 수 있습니다.
요소 P를 생성하고 innerHTML 속성을 설정하세요
var myp = document.createElement('p'); myp.innerHTML = 'yet another';
요소 P가 빌드된 후 마음대로 속성을 수정하고 추가할 수 있습니다
myp.style.border = '2px dotted blue'
다음으로,appendChild를 사용하여 새 노드를 추가할 수 있습니다. 트리의 DOM.
document.body.appendChild(myp)
DOM 메서드 사용
innerHTML 메서드를 사용하는 것은 실제로 매우 간단합니다. 순수 DOM 메서드를 사용하면 위의 기능을 구현할 수 있습니다.
새 텍스트 노드 만들기(또 다른)
새 단락 만들기
텍스트 노드를 단락에 추가합니다.
본문에 단락 추가
// 创建p var myp = document.createElement('p'); // 创建一个文本节点 var myt = document.createTextNode('one more paragraph') myp.appendChild(myt); // 创建一个STRONG元素 var str = document.createElement('strong'); str.appendChild(document.createTextNode('bold')); // 把STRONG元素添加到P中 myp.appendChild(str); // 把P元素添加到BODY中 document.body.appendChild(myp); //结果<p>one more paragraph<strong>bold</strong></p> cloneNode()
새 노드를 만드는 또 다른 방법은 cloneNode를 사용하여 노드를 복사하는 것입니다. cloneNode()는 부울 매개변수를 전달할 수 있습니다. true이면 하위 노드를 포함한 전체 복사본이고, false이면 자체 복사만 합니다.
먼저 복사할 요소를 가져옵니다.
var el = document.getElementsByTagName('p')[1];//<p><em>second</em> paragraph</p>
아직 전체 복사가 필요하지 않습니다.
document.body.appendChild(el.cloneNode(false))
p 요소만 복사되었기 때문에 페이지가 변경되지 않은 것을 발견했습니다. 아래와 같은 효과입니다.
document.body.appendChild(document.createElement('p'));
전체 복사를 사용하면 아래 p를 포함한 모든 하위 노드가 복사됩니다. 물론 텍스트 노드와 EM 요소도 포함됩니다.
document.body.appendChild(el.cloneNode(true))
insertBefore()
appendChild를 사용하여 끝에 요소를 추가하세요. insertBefore 메소드는 삽입된 요소의 위치를 보다 정확하게 제어할 수 있습니다.
elementNode.insertBefore(new_node,existing_node)
Example
document.body.insertBefore( document.createTextNode('boo!'), document.body.firstChild );
은 새 텍스트 노드를 만들어 body 요소의 첫 번째 노드로 사용하는 것을 의미합니다.
노드 삭제
DOM 트리에서 노드를 삭제하려면 RemoveChild()를 사용하면 됩니다. 작업할 HTML을 살펴보겠습니다.
<body> <p class="opener">first paragraph</p> <p><em>second</em> paragraph</p> <p id="closer">final</p> <!-- and that's about it --> </body>
다음 코드를 살펴보겠습니다. 두 번째 문단
var myp = document.getElementsByTagName('p')[1]; var removed = document.body.removeChild(myp);
삭제된 노드가 삭제된 노드입니다. 삭제된 노드는 나중에 계속 사용할 수 있습니다.
replaceChild() 메소드를 사용할 수도 있습니다. 이 방법은 노드를 삭제하고 다른 노드로 교체합니다. 마지막 노드 삭제 작업을 수행한 후 결과는 다음과 같습니다.
<body> <p class="opener">first paragraph</p> <p id="closer">final</p> <!-- and that's about it --> </body>
replacementChild의 사용을 살펴보겠습니다. 두 번째 p
var replaced = document.body.replaceChild(removed, p);
를 마지막으로 삭제된 노드로 대체합니다. 이는 RemoveChild 반환과 동일합니다. 교체된 노드는 제거된 노드입니다. 이제 결과는
<body> <p class="opener">first paragraph</p> <p><em>second</em> paragraph</p> <!-- and that's about it --> </body>입니다.
위 내용은 JavaScript에서 DOM 노드 인스턴스를 생성, 사용 및 삭제하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!