DOMTokenList#

DOMTokenList.item()#

Metoda item() zwraca słowo o określonym indeksie z uporządkowanego zestawu słów skojarzonego z danym zestawem słów DOM. W przypadku braku takiego słowa zwrócona zostanie wartość null.

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 token = domTokenList.item(index);
var token = domTokenList[index]; // alternatywa z JS

gdzie poszczególne człony oznaczają:

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

  1. Jeśli index jest równy lub większy od liczby słów w uporządkowanym zestawie słów skojarzonym z obiektem kontekstu, to zwróć wartość null.
  2. Zwróć słowo z pozycją wskazywaną przez index, które znajduje się w uporządkowanym zestawie słów skojarzonym z obiektem kontekstu.

W przypadku alternatywy z JS dla metody item() mamy do czynienia z pojęciem obsługiwanych indeksów właściwości.

Dla teoretycznego przykładu, gdzie łańcuchem znakowym jest "a b c d", będziemy mieli zestaw słów DOM z czterema słowami: słowem z indeksem 0 jest "a", słowem z indeksem 1 jest "b", słowem z indeksem 2 jest "c" i słowem z indeksem 3 jest "d".

Prosty przykład:

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

	function showTokens(set){
		return Array.prototype.slice.call(set).join(" ");
	}

	var html = document.documentElement; // referencja do elementu html

	document.write(html.classList.constructor); // function DOMTokenList() { [native code] }
	document.write("<br>");
	document.write(html.classList.length); // 0
	document.write("<br>");
	document.write(html.classList.item(0)); // null
	document.write("<br>");
	document.write(html.classList[0]); // undefined, w IE null - błąd

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

	html.className = "Test1 Test2 Test3"; // ustawiamy wartość atrybutu class

	document.write(showTokens(html.classList)); // Test1 Test2 Test3
	document.write("<br>");
	document.write(html.classList.length); // 3

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

	document.write(html.classList.item(0)); // Test1
	document.write("<br>");
	document.write(html.classList[1]); // Test2
	document.write("<br>");
	document.write(html.classList.item(2)); // Test3

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

	document.write(html.classList.item(5)); // null
	document.write("<br>");
	document.write(html.classList[5]); // undefined, w IE null - błąd

</script>

W powyższym przykładzie widać wyraźnie, że jest drobna różnica między dwoma analogicznymi (w teorii) sposobami. Metoda item() dla indeksu równego lub większego od wartości atrybutu DOMTokenList.length zwraca wartość null, kiedy nawiasowe odwołanie [] zwraca wartość undefined. Nie dotyczy przeglądarki IE, która w drugim sposobie błędnie zwraca wartość null.

Metoda item() 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 DOMTokenList {
	getter DOMString? item(unsigned long index);
}

Specyfikacje i inne materiały#

Pasek społecznościowy

SPIS TREŚCI AKTUALNEJ STRONY

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