DOMTokenList#
DOMTokenList.value#
Właściwość value
zwraca lub ustawia w postaci łańcucha znakowego wartość w atrybucie skojarzonym z danym zestawem słów DOM.
Opis działania#
Samo wywołanie i poszczególne jego części najlepiej objaśnić na zapisie składniowym:
var list_value = domTokenList.value; // getting domTokenList.value = new_value; // setting
gdzie poszczególne człony oznaczają:
- list_value - łańcuch znakowy reprezentujący wartość skojarzonego atrybutu.
- domTokenList - zestaw słów DOM będący obiektem kontekstu.
- new_value - łańcuch znakowy reprezentujący nową wartość dla skojarzonego atrybutu.
W zależności od podejmowanej akcji muszą zostać wykonane następujące kroki:
Odczyt wartości atrybutu (getting):
- Zwróć wynik działania kroków serializacji dla obiektu kontekstu.
Zmiana wartości atrybutu (setting):
- Wykonaj ustawienie wartości atrybutu dla elementu skojarzonego z obiektem kontekstu, z użyciem nazwy lokalnej jakiegoś atrybutu skojarzonej z obiektem kontekstu oraz przekazanej wartości.
Warto podkreślić, że właściwość value
z zasady jest celem przy bezpośrednim ustawianiu wartości dla innej właściwości, która operuje na zestawie słów DOM, co jest realizowane za pośrednictwem mechanizmu automatycznego przekierowania na inną właściwość. Także przy odczycie właściwość value
ma identyczne zachowanie, jak to zdefiniowane dla operacji stringifier
.
W niektórych sytuacjach właściwość value
może być wygodniejsza w użyciu niż sięgnięcie po metody z interfejsu DOMTokenList, np. ustawienie pustego łańcucha znakowego wyczyści nam uporządkowany zestaw słów, bez konieczności iterowania po wszystkich jego elementach i selektywnego usuwania każdego słowa z osobna.
Prosty przykład:
<script>
function showTokens(set){
return Array.prototype.slice.call(set).join(" ");
}
var html = document.documentElement; // referencja do elementu HTML
html.className = "Test1";
document.write(html.classList.value); // Test1
document.write("<br>");
document.write(html.classList); // Test1
document.write("<br>");
document.write(showTokens(html.classList)); // Test1
document.write("<br><br>");
html.classList.value = "Test1 Test2 Test2"; // ustawiamy wartość atrybutu class przez zestaw
document.write(html.classList.value); // Test1 Test2 Test2
document.write("<br>");
document.write(html.classList); // Test1 Test2 Test2
document.write("<br>");
document.write(showTokens(html.classList)); // Test1 Test2
document.write("<br><br>");
html.classList.value = ""; // ustawiamy wartość atrybutu class przez zestaw
document.write(html.classList.value); // "" - pusty łańcuch znakowy
document.write("<br>");
document.write(html.classList); // "" - pusty łańcuch znakowy
document.write("<br>");
document.write(showTokens(html.classList)); // "" - pusty łańcuch znakowy
</script>
Właściwość value
pojawia się dopiero w specyfikacji DOM4.
Składnia Web IDL#
interface DOMTokenList { attribute DOMString value; }