Element#
Element.id#
Właściwość id
zwraca lub ustawia wartość w atrybucie id
danego elementu i może wpływać na stan jego unikatowego identyfikatora (szczegóły).
Opis działania#
Samo wywołanie i poszczególne jego części najlepiej objaśnić na zapisie składniowym:
var id_value = element.id; // getting element.id = new_value; // setting
gdzie poszczególne człony oznaczają:
- id_value - łańcuch znakowy reprezentujący aktualną wartość atrybutu
id
w elemencie. - element - węzeł będący obiektem kontekstu.
- new_value - łańcuch znakowy reprezentujący nową wartość atrybutu
id
w elemencie.
Odczytanie i zmiana wartości dla właściwości id
polega na zasadzie odzwierciedlenia zawartości atrybutu z przekazaniem nazwy lokalnej "id"
(szczegóły).
Specyfikacja HTML5 wprowadza pojęcie globalnego atrybutu id
, ale nie definiuje dla niego żadnej nowej właściwości DOM, a jedynie informuje o odzwierciedleniu (reflect) zawartości tego atrybutu przez już istniejącą właściwość id
definiowaną przez aktualną specyfikację DOM4.
Prosty przykład:
<script>
var html = document.documentElement; // referencja do elementu HTML
document.write(html); // [object HTMLHtmlElement]
document.write("<br>");
document.write(html.id); // "" - pusty łańcuch znakowy
document.write("<br>");
html.id = "test"; // zmiana wartości atrybutu
document.write(html.id); // test
document.write("<br><br>");
document.write(Element.prototype.hasOwnProperty("id")); // true
document.write("<br>");
document.write(html.__proto__.__proto__.__proto__.hasOwnProperty("id")); // true
document.write("<br>");
document.write(html.__proto__.__proto__.__proto__); // [object ElementPrototype]
</script>
Właściwość id
dla węzła typu Element
pojawia się dopiero w specyfikacji DOM4. W przeszłości właściwość była definiowana dla interfejsu HTMLElement w osobnej specyfikacji DOM Level 2 HTML.
Składnia Web IDL#
interface Element : Node { attribute DOMString id; }