Range#

Range.cloneRange()#

Metoda cloneRange() klonuje dany zakres i zwraca referencję do nowej kopii.

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 clone_range = range.cloneRange();

gdzie poszczególne człony oznaczają:

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

  1. Zwróć nowy obiekty typu Range z takim samym początkiem i końcem jak w obiekcie kontekstu.

Nowy obiekt zwracany przez metodę cloneRange() jest kopiowany przez wartość, nie przez referencję, dlatego też każda zmiana w oryginale nie ma wpływu na kopię.

Prosty przykład:

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

	// Tworzymy nowy zakres
	var range = document.createRange();

	document.write(range.startContainer); // [object HTMLDocument]
	document.write("<br>");
	document.write(range.endContainer); // [object HTMLDocument]
	document.write("<br>");
	document.write(range.startOffset); // 0
	document.write("<br>");
	document.write(range.endOffset); // 0

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

	// Tworzymy nowy zakres klonując 'range'
	var clone = range.cloneRange();

	document.write(clone.startContainer); // [object HTMLDocument]
	document.write("<br>");
	document.write(clone.endContainer); // [object HTMLDocument]
	document.write("<br>");
	document.write(clone.startOffset); // 0
	document.write("<br>");
	document.write(clone.endOffset); // 0

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

	document.write(range == clone); // false - dwa różne obiekty

</script>

Składnia Web IDL#

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
interface Range {
	[NewObject] Range cloneRange();
}

Specyfikacje i inne materiały#

Pasek społecznościowy

SPIS TREŚCI AKTUALNEJ STRONY

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