Node#

Node.contains()#

Metoda contains() zwraca boolowską wartość true jeśli przekazany węzeł jest potomkiem obejmującym dla danego węzła, w przeciwnym razie zwrócona zostanie wartość false.

Opis działania#

Samo wywołanie i poszczególne jego części najlepiej objaśnić na zapisie składniowym:

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
var contained = node.contains(other);

gdzie poszczególne człony oznaczają:

Algorytm wywołania metody contains(other) nie jest skomplikowany. Dla lepszego zrozumienia tematu prezentuję go w całości:

  1. Zwróć boolowską wartość true jeśli other jest potomkiem obejmującym dla obiektu kontekstu, w przeciwnym razie zwróć boolowską wartość false (włącznie z sytuacją, kiedy other jest wartością null).

Metoda contains() pozwala na szybką weryfikację, czy przekazany do niej węzeł znajduje się w wywołującym ją węźle, jak również czy mamy do czynienia z tym samym węzłem.

Prosty przykład:

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
<script>

	var docElement = document.documentElement;

	document.write(docElement.contains(document)); // false
	document.write("<br>");
	document.write(docElement.contains(docElement)); // true
	document.write("<br>");
	document.write(docElement.contains(document.body)); // true
	document.write("<br>");
	document.write(docElement.contains(document.createElement("div"))); // false
	document.write("<br>");
	document.write(docElement.contains(null)); // false

	document.write("<br><br>");

	document.write(document.contains(document)); // true
	document.write("<br>");
	document.write(document.contains(docElement)); // true
	document.write("<br>");
	document.write(document.contains(document.createElement("div"))); // false
	document.write("<br>");
	document.write(document.contains(null)); // false

</script>

Na chwilę obecną wszystkie aktualne przeglądarki obsługują metodę contains() zgodnie z wymaganiami specyfikacji DOM4, z wyjątkiem IE11, która udostępnia tę metodę jedynie dla węzłów typu Element.

Metoda contains() pojawia się dopiero w specyfikacji DOM4.

Składnia Web IDL#

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
interface Node : EventTarget {
	boolean contains(Node? other);
}

Specyfikacje i inne materiały#

Pasek społecznościowy

SPIS TREŚCI AKTUALNEJ STRONY

Node (H1) Node.contains() (H2) Opis działania (H3) Składnia Web IDL (H3) Specyfikacje i inne materiały (H3)