Computer >> 컴퓨터 >  >> 프로그램 작성 >> HTML

HTML DOM compareDocumentPosition() 메서드

<시간/>

HTML DOM compareDocumentPosition() 메서드는 주어진 노드 위치를 문서의 다른 노드와 비교하는 데 사용됩니다. 이 메서드의 반환 형식은 문서에서 해당 위치를 설명하는 정수 형식입니다. 정수 반환 값은 지정된 대로 −

1: No relationship, the two nodes do not belong to the same document.
2: The first node (para1) is positioned after the second node (para2).
4: The first node (para1) is positioned before the second node (para2).
8: The first node (para1) is positioned inside the second node (para2).
16: The second node (para2) is positioned inside the first node (para1).
32: No relationship, or the two nodes are two attributes on the same element.

구문

다음은 HTML DOM compareDocumentPosition() 메서드의 구문입니다. -

node.compareDocumentPosition(node)

여기서 노드는 노드 객체 유형이며 현재 노드와 비교할 노드를 지정합니다.

예시

compareDocumentPosition() 메서드의 예를 살펴보겠습니다. -

<!DOCTYPE html>
<html>
<body>
<p id="para1">This is a paragraph</p>
<p id="para2">This is another paragraph</p>
<p>Click the button to compare the position of the two paragraphs.</p>
<button onclick="docPosition()">POSITION</button>
<p id="Sample"></p>
<script>
   function docPosition() {
      var p1 = document.getElementById("para1").lastChild;
      var p2 = document.getElementById("para2").lastChild;
      var x = p2.compareDocumentPosition(p1);
      document.getElementById("Sample").innerHTML = x;
   }
</script>
</body>
</html>

출력

이것은 다음과 같은 출력을 생성합니다 -

HTML DOM compareDocumentPosition() 메서드

POSITION 버튼 클릭 시 -

HTML DOM compareDocumentPosition() 메서드

위의 예에서 -

먼저 두 개를 만들었습니다.

ID가 "para1" 및 "para2"인 요소.

<p id="para1">This is a paragraph</p>
<p id="para2">This is another paragraph</p>

그런 다음 사용자가 클릭하면 docPosition() 메서드를 실행할 버튼 POSTION을 만들었습니다.

<button onclick="docPosition()">POSITION</button>

docPosition() 메서드는 문서 객체의 getElementById() 메서드를 사용하여

요소를 모두 가져옵니다. 그런 다음 두 단락의 lastchild 속성 값을 각각 변수 p1과 p2에 할당합니다.

그런 다음 p1을 매개변수로 사용하여 p2에서 compareDocumentPosition() 메서드를 호출합니다. 이것은 우리가 p1에 대한 p2의 위치를 ​​비교하기를 원한다는 것을 의미합니다. 여기서 p2는 p1 뒤에 위치하므로 반환 값은 2 −

입니다.
function docPosition() {
   var p1 = document.getElementById("para1").lastChild;
   var p2 = document.getElementById("para2").lastChild;
   var x = p2.compareDocumentPosition(p1);
   document.getElementById("Sample").innerHTML = x;
}