ChildNode#

ChildNode.previousElementSibling#

Właściwość previousElementSibling zwraca pierwszego poprzednika bratowego (będącego elementem) dla danego węzła. Jeśli węzeł nie posiada żadnego poprzednika bratowego spełniającego te wymagania to zwrócona zostanie wartość null. Właściwość jest tylko do odczytu.

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 previous_element = childNode.previousElementSibling;

gdzie poszczególne człony oznaczają:

Prosty przykład:

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

<head>

	<script>

		function getPreviousSibling(method){

			var p2 = document.getElementById("p2"); // referencja do drugiego akapitu
			var previousSibling = null;
			var methodText = "";

			if (method == "method1"){
				previousSibling = p2.previousElementSibling;
				methodText = "Polecenie: previousElementSibling";
			}

			else if (method == "method2"){
				previousSibling = p2.previousSibling;
				methodText = "Polecenie: previousSibling";
			}

			var info = document.getElementById("info");

			info.innerHTML = methodText
					+ "<br>" + "Interfejs pobranego węzła: " + previousSibling
					+ "<br>" + "Właściwość nodeName: " + previousSibling.nodeName
					+ "<br>" + "Właściwość textContent: " + previousSibling.textContent;

		}

	</script>

</head>

<body>
	<p>Pierwszy akapit w BODY.</p>
	<!-- Pierwszy komentarz HTML --><p id="p2">Drugi akapit w BODY.</p><!-- Drugi komentarz HTML -->
	<p>Trzeci akapit w BODY.</p>

	<p>Kliknij konkretny przycisk by pobrać brata poprzedzającego dla drugiego akapitu.</p>
	<input type="button" value="previousElementSibling" onclick="getPreviousSibling('method1')">
	<input type="button" value="previousSibling" onclick="getPreviousSibling('method2')">

	<p style="color: blue;">Szczegółowe informacje o sposobie:</p>
	<p id="info"></p>
</body>

</html>

Właściwość previousElementSibling pojawia się dopiero w specyfikacji DOM4. W przeszłości była ona definiowana dla interfejsu ElementTraversal w osobnej specyfikacji Element Traversal Specification.

Składnia Web IDL#

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
[NoInterfaceObject]
interface ChildNode {
	readonly attribute Element? previousElementSibling;
}

Specyfikacje i inne materiały#

Pasek społecznościowy

SPIS TREŚCI AKTUALNEJ STRONY

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