Attr#

Attr.value#

Właściwość value zwraca lub ustawia wartość dla danego atrybutu.

Z uwagi na kompatybilność wsteczną specyfikacja DOM4 definiuje dla właściwość value dwa dodatkowe aliasy w formie właściwości Attr.nodeValue lub Attr.textContent, ale ich stosowanie w aktualnym kodzie produkcyjnym jest zbędne i odradzane.

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 attr_value = attr.value; // getting
attr.value = new_value; // setting

gdzie poszczególne człony oznaczają:

W zależności od podejmowanej akcji muszą zostać wykonane następujące kroki:

Odczyt wartości atrybutu (getting):

  1. Zwróć wartość z obiektu kontekstu.

Zmiana wartości atrybutu (setting):

  1. Jeśli element skojarzony z obiektem kontekstu ma wartość null, to ustaw wartość tego obiektu kontekstu na przekazaną wartość.
  2. W przeciwnym razie zmień nasz obiekt kontekstu z elementu skojarzonego z obiektem kontekstu na przekazaną wartość.

    Krok ten gwarantuje, że w przypadku atrybutu skojarzonego z jakimś elementem zostaną zaobserwowane wszelkie zmiany atrybutu dla tego skojarzonego elementu.

Kiedy atrybutu został skojarzony z jakimś elementem to przy odczycie właściwość value najwygodniej zastąpić metodami Element.getAttribute() lub Element.getAttributeNS(), a w przypadku zapisu metodami Element.setAttribute() lub Element.setAttributeNS(), nie zapominając także o popularnej technice odzwierciedlenia.

Prosty przykład:

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

	var html = document.documentElement; // referencja do elementu HTML
	html.setAttributeNS("www.test.com", "p:AAA", "Test"); // ustawiamy nowy atrybut
	var attr = html.attributes; // pobieramy listę atrybutów
	var firstAttr = attr[0]; // referencja do pierwszego atrybutu z listy

	document.write("Ustawiamy własny atrybut dla elementu HTML:");
	document.write("<br>");
	document.write("html.setAttributeNS('www.test.com', 'p:AAA', 'Test');");

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

	document.write("Pobieramy listę atrybutów elementu HTML:");
	document.write("<br>");
	document.write("html.attributes: " + attr); // [object NamedNodeMap]
	document.write("<br>");
	document.write("attributes.length: " + attr.length); // 1

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

	document.write("Odczytujemy właściwości pierwszego atrybutu z listy:");
	document.write("<br>");
	document.write("attributes[0]: " + firstAttr); // [object Attr]
	document.write("<br>");
	document.write("attributes[0].value: " + firstAttr.value); // Test
	document.write("<br>");
	document.write("attributes[0].nodeValue: " + firstAttr.nodeValue); // Test
	document.write("<br>");
	document.write("attributes[0].textContent: " + firstAttr.textContent); // Test
	document.write("<br>");
	document.write("attributes[0].name: " + firstAttr.name); // p:AAA
	document.write("<br>");
	document.write("attributes[0].nodeName: " + firstAttr.nodeName); // p:AAA
	document.write("<br>");
	document.write("attributes[0].localName: " + firstAttr.localName); // AAA
	document.write("<br>");
	document.write("attributes[0].prefix: " + firstAttr.prefix); // p
	document.write("<br>");
	document.write("attributes[0].namespaceURI: " + firstAttr.namespaceURI); // www.test.com
	document.write("<br>");
	document.write("attributes[0].ownerElement: " + firstAttr.ownerElement); // [object HTMLHtmlElement]
	document.write("<br>");
	document.write("attributes[0].specified: " + firstAttr.specified); // true

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

	firstAttr.value = 'Test2';

	document.write("Zmieniamy wartość atrybutu na 'Test2':");
	document.write("<br>");
	document.write("attributes[0].value = 'Test2';");

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

	document.write("Odczytujemy nową wartość:");
	document.write("<br>");
	document.write("attributes[0].value: " + firstAttr.value); // Test2
	document.write("<br>");
	document.write("attributes[0].nodeValue: " + firstAttr.nodeValue); // Test2
	document.write("<br>");
	document.write("attributes[0].textContent: " + firstAttr.textContent); // Test2

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

	firstAttr.value = null;

	document.write("Zmieniamy wartość atrybutu na null:");
	document.write("<br>");
	document.write("attributes[0].value = null;");

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

	document.write("Odczytujemy nową wartość:");
	document.write("<br>");
	document.write("attributes[0].value: " + firstAttr.value); // null
	document.write("<br>");
	document.write("attributes[0].nodeValue: " + firstAttr.nodeValue); // null
	document.write("<br>");
	document.write("attributes[0].textContent: " + firstAttr.textContent); // null

</script>

Składnia Web IDL#

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
interface Attr {
	attribute DOMString value;
}

Specyfikacje i inne materiały#

Pasek społecznościowy

SPIS TREŚCI AKTUALNEJ STRONY

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