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ść
null
ma 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ść
null
jest 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 atrybutlength
oraz 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; }