CharacterData#
Wstęp#
Interfejs CharacterData jest specyficznym interfejsem, nie istnieje bezpośrednio żaden węzeł typu CharacterData
, aczkolwiek będzie on wykorzystywany przez dziedziczące po nim węzły typu Text
, Comment
i ProcessingInstruction
, które na potrzeby dalszych opisów nazywam węzłami znakowymi # (szczegóły). Sam obiekt interfejsu jest dostępny w przestrzeni globalnej (można go rozszerzać) i wszystkie dziedziczące po nim węzły znakowe skojarzone zostały z kilkoma podstawowymi zagadnieniami.
Zadaniem interfejsu CharacterData jest rozszerzenie węzłów znakowych o specyficzne właściwości i metody, które umożliwiają modyfikację skojarzonych z nimi danych tekstowych. Dzięki wyodrębnieniu tych poleceń do osobnego interfejsu nie ma potrzeby dublowania tych samych opisów w każdym interfejsie z osobna.
Nie należy zapominać także o tym, że w środowisku ECMAScript dane tekstowe reprezentowane są przez podstawowy typ string
, który w razie potrzeby może zostać automatycznie zamieniony na obiekt, lub zamieniony przez nas samych za pomocą metody String()
. Obiekt taki posiada szereg właściwości i metod (zdecydowanie więcej niż w DOM), które pozwalają dowolnie zmieniać jego wartość tekstową. Z racji tego, że DOM jest niezależny od środowiska, w nim samym zdefiniowano kilka podstawowych poleceń umożliwiających modyfikację danych tekstowych, które powinny być obsługiwane przez wszystkie implementacje DOM.
Interfejs CharacterData dziedziczy z interfejsu Node, dlatego interfejsy dziedziczące po CharacterData (węzły znakowe) będą miały dostęp do wszystkich poleceń z całego łańcucha dziedziczenia. Interfejs CharacterData bezpośrednio implementuje kolejny interfejs ChildNode ze wszystkimi jego podstawowymi zagadnieniami i poleceniami.
Właściwości CharacterData#
Nazwa | Opis |
---|---|
CharacterData.data | Zwraca lub ustawia dane tekstowe danego węzła znakowego. |
CharacterData.length | Zwraca liczbę jednostek kodowych z danych tekstowych danego węzła znakowego. |
Metody CharacterData#
Nazwa | Opis |
---|---|
CharacterData.appendData() | Dodaje nową treść na końcu danych tekstowych w danym węźle znakowym. |
CharacterData.deleteData() | Usuwa konkretną część danych tekstowych w danym węźle znakowym. |
CharacterData.insertData() | Dodaje nową treść w określonym miejscu danych tekstowych danego węzła znakowego. |
CharacterData.replaceData() | Zastępuje konkretną część danych tekstowych nową treścią w danym węźle znakowym. |
CharacterData.substringData() | Zwraca konkretną część danych tekstowych w danym węźle znakowym. |
Składnia Web IDL#
interface CharacterData # : Node { [TreatNullAs=EmptyString] attribute DOMString data; readonly attribute unsigned long length; DOMString substringData(unsigned long offset, unsigned long count); void appendData(DOMString data); void insertData(unsigned long offset, DOMString data); void deleteData(unsigned long offset, unsigned long count); void replaceData(unsigned long offset, unsigned long count, DOMString data); }; CharacterData implements ChildNode;