Attr#
Attr.ownerElement#
Właściwość ownerElement
zwraca element skojarzony z danym atrybutem. Jeśli atrybut nie ma skojarzonego elementu to zwrócona zostanie wartość null
. Właściwość jest tylko do odczytu.
Opis działania#
Samo wywołanie i poszczególne jego części najlepiej objaśnić na zapisie składniowym:
var owner = attr.ownerElement;
gdzie poszczególne człony oznaczają:
- owner - referencja do elementu skojarzonego z atrybutem.
- attr - atrybut będący obiektem kontekstu.
Każdy nowy atrybut utworzony za pomocą metody Document.createAttribute()
lub Document.createAttributeNS()
, czy też usunięty ze swojego elementu za pomocą jednej z metod:
Element.removeAttributeNode()
Element.setAttributeNode()
Element.setAttributeNodeNS()
NamedNodeMap.removeNamedItem()
NamedNodeMap.removeNamedItemNS()
NamedNodeMap.setNamedItem()
NamedNodeMap.setNamedItemNS()
nie będzie skojarzony z żadnym elementem dopóki nie zostanie do niego wstawiony ponownie, i w takiej sytuacji właściwość ownerElement
zawsze zwróci wartość null
.
Prosty przykład:
<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>");
var newAttr = document.createAttribute("test"); // atrybut bez powiązania z elementem
document.write("Tworzymy nowy atrybut bez powiązania z elementem:");
document.write("<br>");
document.write("var newAtttr = document.createAttribute('test');");
document.write("<br><br>");
document.write("Sprawdzamy powiązanie nowego atrybutu z elementem:");
document.write("<br>");
document.write("newAttr.ownerElement: " + newAttr.ownerElement); // null
</script>
Składnia Web IDL#
interface Attr { readonly attribute Element? ownerElement; }
Specyfikacje i inne materiały#
Pasek społecznościowy