Node#
Node.nodeValue#
Właściwość nodeValue zwraca lub ustawia wartość dla danego węzła.
Opis działania#
Samo wywołanie i poszczególne jego części najlepiej objaśnić na zapisie składniowym:
var node_value = node.nodeValue; // getting node.nodeValue = new_value; // setting
gdzie poszczególne człony oznaczają:
- node_value - łańcuch znakowy reprezentujący aktualną wartość węzła lub wartość
null. - node - węzeł będący obiektem kontekstu.
- new_value - łańcuch znakowy reprezentujący nową wartość węzła. Wartość
nullma identyczne działanie jak przekazanie pustego łańcucha znakowego.
W zależności od rodzaju węzła i podejmowanej akcji muszą zostać wykonane następujące kroki:
Odczyt wartości atrybutu (getting):
Typ węzła nodeValue Text,Comment,ProcessingInstruction,CDATASection*Zwracanie odbywa się według następującego algorytmu:
- Zwróć dane tekstowe z obiektu kontekstu.
Identyczny efekt można uzyskać za pomocą poleceń:
Attr*Zwracanie odbywa się według następującego algorytmu:
- Zwróć wartość z obiektu kontekstu.
Identyczny efekt można uzyskać za pomocą poleceń:
Document,DocumentType,DocumentFragment,Element,Entity*,EntityReference*Notation*Zwracanie odbywa się według następującego algorytmu:
- Zwróć wartość
null.
Zmiana wartości atrybutu: (setting):
Typ węzła nodeValue Text,Comment,ProcessingInstruction,CDATASection*Ustawianie odbywa się według następującego algorytmu (przekazana wartość
nulljest traktowana jak pusty łańcuch znakowy):- Zastąp dane tekstowe z węzłem będącym obiektem kontekstu, przesunięciem będącym wartością
0, licznikiem wskazywanym przez atrybutlengthoraz danymi tekstowymi ustawionymi na przekazaną wartość.
Identyczny efekt można uzyskać za pomocą poleceń:
Attr*Ustawianie odbywa się według następującego algorytmu:
- Ustaw wartość z obiektu kontekstu na przekazaną wartość.
Identyczny efekt można uzyskać za pomocą poleceń:
Document,DocumentType,DocumentFragment,Element,Entity*,EntityReference*Notation*Nic nie rób.
- Zastąp dane tekstowe z węzłem będącym obiektem kontekstu, przesunięciem będącym wartością
Prosty przykład:
<script>
document.write("Początkowa wartość węzła tekstowego.");
document.write("<br>");
document.write(document.nodeValue); // null
document.write("<br>");
document.write(document.body.firstChild); // [object Text]
document.write("<br>");
var newFragment = document.createDocumentFragment(); // tworzymy nowy pusty fragment
document.write(newFragment.nodeValue); // null
document.write("<br>");
newFragment.nodeValue = "Tekst fragmentu";
document.write(newFragment.nodeValue); // null
// Zmieniamy wartości węzła tekstowego po upływie 3 s
setTimeout(function(){
document.body.firstChild.nodeValue = "Nowa wartość węzła tekstowego.";
}, 3000);
</script>Składnia Web IDL#
interface Node : EventTarget { attribute DOMString? nodeValue; }