Text, TextNode | NN 6 IE 5 DOM 1 | |||||||
Ein Text-Objekt ist ein Objekt, das in diesem Buch an vielen Stellen auch als "Textnode" bezeichnet wird. Microsoft verwendet für dieses Objekt den Begriff TextNode-Objekt. Dieses Objekt stellt das Child-Objekt dar, das die Zeichen zwischen dem Start- und dem End-Tag eines Elements enthält. Das Text-Objekt existiert im abstrakten W3C-DOM-Modell aufgrund einer Erbfolge zwischen ihm und dem grundlegenden Node-Objekt (Node - CharacterData - Text). Das übergeordnete Node-Objekt stattet das Text-Objekt automatisch mit einer langen Liste von Eigenschaften und Methoden aus, die in der Abhandlung der gemeinsamen Merkmale am Anfang dieses Kapitels beschrieben sind. Bei den Eigenschaften handelt es sich um attributes, childNodes, firstChild, lastChild, localName, namespaceURI, nextSibling, nodeName, nodeType, nodeValue, ownerDocument, parentNode, prefix und previousSibling, bei den Methoden um appendChild( ), cloneNode( ), hasAttributes( ), hasChildNodes( ), insertBefore( ), isSupported( ), normalize( ), removeChild( ) und replaceChild( ). Neben dieser Erbfolge erhält das Text-Objekt einige weitere Eigenschaften und Methoden (siehe unten), mit deren Hilfe sich der Inhalt der Node innerhalb der vom formalen W3C-DOM-Modell vorgegebenen Konstrukte manipulieren lässt. Da das DOM nicht von der Skriptsprache abhängig ist, werden Sie Eigenschaften und Methoden finden, die durch die JavaScript-Stringbehandlungsverfahren (siehe Kapitel 12) unter Umständen leichter oder umfassender manipuliert werden können. Sie können diese Techniken in einer clientseitigen JavaScript-Umgebung des Browsers nach Belieben einsetzen. |
||||||||
Scripts verweisen auf die Text-Node (oder das IE-Objekt TextNode) ausschließlich über Referenzen auf die Position der Node im Dokumentbaum (z. B. auf das erste Child einer bestimmten Elementnode) oder anhand der Rückgabe der Methode document.createTextNode( ). |
||||||||
Objektmodellreferenz | ||||||||
elementReference.childReference textNodeReference.siblingReference |
||||||||
Objektspezifische Eigenschaften | ||||||||
|
||||||||
Objektspezifische Methoden | ||||||||
|
||||||||
Objektspezifische Ereignisbehandlungsroutineneigenschaften | ||||||||
Keine. |
accessKey | NN nicht zutreffend IE 4 DOM 1 |
Lesen/Schreiben | |
Dies ist eine einzelne Buchstabentaste, durch die ein Element (in manchen Browsern) den Fokus erhält oder ein Formularsteuerelement bzw. eine Link-Aktion aktiviert wird. Der Browser und das Betriebssystem bestimmen, ob zusammen mit der Buchstabentaste eine Zusatztaste (wie Strg, Alt oder Befehl) gedrückt werden muss, damit der Link aktiviert wird. In IE für Windows ab Version 5 und Netscape 6 muss gleichzeitig die Alt-Taste gedrückt werden, und bei der Buchstabentaste wird nicht zwischen Groß- und Kleinschreibung unterschieden. In IE für den Macintosh ab Version 5 und der Macintosh-Version von Netscape 6 funktioniert die Zugriffstaste nur in Verbindung mit der Ctrl-Taste. |
|
Obwohl sie hier als gemeinsame Eigenschaft aufgeführt, wird sie streng genommen nicht in allen Implementierungen unterstützt. Netscape 6 (per W3C-DOM) erkennt diese Eigenschaft nur in Verbindung mit den folgenden Elementen: a, area, button, input, label, legend und textarea, IE 4 darüber hinaus für applet, body, div, embed, isindex, marquee, object, select, span, table und td (nicht jedoch für label und legend). IE 5 erkennt dieses Attribut in Verbindung mit allen darstellbaren Elementen, weist in diesem Zusammenhang jedoch eine Besonderheit auf: Außer bei input und anderen formularbezogenen Elementen müssen Sie einem Element für IE ab Version 5 außerdem ein tabindex-Attribut mit einem beliebigen Wert oder einen beliebigen tabIndex-Eigenschaftswert zuweisen, damit der Benutzer in der Lage ist, ihm mithilfe der Schnellzugriffstaste den Fokus zu übergeben. In Netscape 7 hat eine Änderung des Eigenschaftswerts in einem Skript bisher keine Auswirkung auf das Verhalten der Benutzeroberfläche. |
|
Beispiel | |
document.links[3].accessKey = "n"; |
|
Wert | |
Einzelnes alphanumerisches Zeichen (oder ein Satzzeichen). |
|
Standardwert | |
Leere Zeichenfolge. |
blur( ) | NN 2 IE 3 DOM 1 |
Entfernt den Fokus vom aktuellen Objekt und löst damit das onblur-Ereignis des Objekts aus. Beachten Sie, dass die Palette der Elemente, die Fokus und Blur (Ereignisse und Methoden) unterstützen, in allen Browsern mit Ausnahme der neuesten Versionen von IE eingeschränkt ist (weitere Informationen finden Sie in der Abhandlung des Attributs tabindex in Kapitel 8). Am zuverlässigsten im Hinblick auf die Rückwärtskompatibilität funktioniert die Methode blur( ) in Verbindung mit eindeutig fokusfähigen Elementen wie Text-input- und textarea-Elementen. Die Zuweisung des Attributs onfocus="this.blur( );" zu einem Text-input-Element ist beispielsweise eine simple, aber effektive und rückwärtskompatible Möglichkeit, ein Feld für Browser zu deaktivieren, die keine eigene Funktion zum Deaktivieren von Elementen aufweisen. |
|
Verwenden Sie die Methoden blur( ) und focus( ) vorsichtig in ein- und derselben Seite, da hierbei durch eingeblendete Warndialogfelder versehentlich Blur- und Fokus-Endlosschleifen ausgelöst werden können. Denken Sie außerdem daran, dass der Aufruf der Methode blur( ) eines Objekts bewirkt, dass ein anderes Objekt (möglicherweise das window-Objekt) ein onfocus-Ereignis empfängt. |
|
Parameter | |
Keine. |
|
Zurückgegebener Wert | |
Keiner. |
data | NN 6 IE 5 DOM 1 |
Lesen/Schreiben | |
Enthält die Zeichenfolge in der Textnode. Der Wert ist mit dem Wert der Eigenschaft nodeValue identisch, und es gibt, abgesehen vielleicht von rein sprachlichen Erwägungen hinsichtlich der Lesbarkeit des Codes, keinen Grund, eine Eigenschaft der anderen vorzuziehen. |
|
Beispiel | |
document.getElementById("myP").firstSibling.data = "Some new text."; |
|
Wert | |
Zeichenfolge. |
|
Standardwert | |
Leere Zeichenfolge. |
disabled | NN 6 IE 4 DOM 1 |
Lesen/Schreiben | |
Legt fest, ob das Element für eine Benutzerinteraktion verfügbar ist. Wenn die Eigenschaft auf true gesetzt ist, kann das Element weder den Fokus erhalten noch durch den Benutzer geändert werden und wird in der Seite in der Regel grau hinterlegt dargestellt. In IE für Windows ab Version 5.5 ist diese Eigenschaft für alle HTML-Elementobjekte verfügbar. In IE 4 und IE 5 gilt sie nur für Formularsteuerelemente, während Netscape ab Version 6 die Eigenschaft für Formularsteuerelemente und das style-Elementobjekt erkennt. Das Namens-/Wertpaar eines deaktivierten Formularsteuerelements wird nicht zusammen mit dem Formular übermittelt. |
|
Beispiel | |
document.getElementById("myButton").disabled = true; |
|
Wert | |
Boolescher Wert: true | false. |
|
Standardwert | |
false |
focus( ) | NN 2 IE 3 DOM 1 |
Übergibt den Fokus an das aktuelle Objekt und löst damit das onfocus-Ereignis des Objekts aus. Beachten Sie, dass die Palette der Elemente, die Fokus und Blur (Ereignisse und Methoden) unterstützen, in allen Browsern mit Ausnahme der neuesten Versionen von IE eingeschränkt ist (weitere Informationen finden Sie in der Abhandlung des Attributs tabindex in Kapitel 8). Am zuverlässigsten im Hinblick auf die Rückwärtskompatibilität funktioniert die Methode focus( ) in Verbindung mit eindeutig fokusfähigen Elementen wie Text-input- und textarea-Elementen. |
|
Um einem Textfeld den Fokus zuzuweisen und zugleich den in diesem Feld enthaltenen Text zu markieren, wenden Sie die Methoden focus( ) und select( ) nacheinander auf das Element an. Wenn dies unmittelbar nach einer Veränderung im Fenster geschehen soll (z. B. nachdem ein Wardialogfeld geschlossen wurde), stellen Sie die beiden Methoden in eine separate Funktion und rufen Sie diese im Anschluss an die alert( )-Methode des Dialogfelds über die Methode setTimeout( ) auf. Auf diese Weise können Sie gewährleisten, dass IE/Windows die Anweisungen in der richtigen Reihenfolge ausführt. |
|
Parameter | |
Keine. |
|
Zurückgegebener Wert | |
Keiner. |
length | NN 6 IE 5 DOM 1 |
Schreibgeschützt | |
Stellt die Anzahl von Zeichen in der Textnode bereit. |
|
Beispiel | |
var howMany = document.getElementById("myP").firstSibling.length; |
|
Wert | |
Eine ganze Zahl. |
|
Standardwert | |
0 |
appendData( ) | NN 6 IE 5(Mac)/6(Win) DOM 1 |
appendData("newText") | |
Hängt die in einem Zeichenfolgenparameter übergebenen Zeichen an das Ende der aktuellen Textnode an. Da der Inhalt aus reinen Textzeichen besteht, müssen Sie beim Einfügen von Sätzen in eine Textnode in Ihrem Skript selbst für die korrekten Satzabstände sorgen. |
|
Parameter | |
|
|
Zurückgegebener Wert | |
Keiner. |
deleteData( ) | NN 6 IE 5(Mac)/6(Win) DOM 1 |
deleteData(startOffset, count) | |
Entfernt Zeichen aus der aktuellen Textnode. Der Vorgang beginnt mit dem Zeichen an der durch den startOffset-Wert bezeichneten (auf Null basierenden) Position und betrifft die mit dem Parameter count angegebene Anzahl von Zeichen in der üblichen Schreibrichtung der aktuellen Sprache. Wenn die Anzahl der angegebenen Zeichen die Anzahl der tatsächlich vorhandenen Zeichen übersteigt, werden alle Zeichen von der angegebenen Startposition bis zum Ende der Textnode gelöscht, ohne dass ein Ausnahmefehler gemeldet wird. Beachten Sie, dass Netscape 6 bei der Auswertung beider Parameter die im Quellcode enthaltenen Leerzeichen mitzählt. |
|
Parameter | |
|
|
Zurückgegebener Wert | |
Keiner. |
insertData( ) | NN 6 IE 5(Mac)/6(Win) DOM 1 |
insertData(startOffset, "newText") | |
Fügt an einer auf Null basierenden Zeichenposition Text in die Textnode ein. |
|
Parameter | |
|
|
Zurückgegebener Wert | |
Keiner. |
recordNumber | NN nicht zutreffend IE 4 DOM nicht zutreffend |
Schreibgeschützt | |
Wird zur Datenbindung in IE verwendet und gibt eine ganze Zahl zurück, die den Datensatz in der Datenmenge repräsentiert, die das Element erzeugte (d. h. ein Element, dessen Inhalt über die Datenbindung eingefügt wird). Werte für diese Eigenschaft können dazu verwendet werden, einen bestimmten Datensatz aus der Datenmenge eines Active Data Object (ADO) zu extrahieren (siehe Eigenschaft recordset). Obwohl diese Eigenschaft für alle IE-Elementobjekte definiert ist, gehören die anderen datenbindungsbezogenen Eigenschaften nur zu bestimmten Elementen. |
|
Beispiel | |
<script for="tableTemplate" event="onclick"> myDataCollection.recordset.absoluteposition = this.recordNumber; ... </script> |
|
Wert | |
Eine ganze Zahl. |
|
Standardwert | |
null |
replaceData( ) | NN 6 IE 5(Mac)/6(Win) DOM 1 |
replaceData(startOffset, count, "newText") | |
Ersetzt Text in der aktuellen Textnode durch einen anderen Text. Der zu entfernende Inhalt wird durch die auf Null basierende Startpostion und die angegebene Anzahl der Zeichen festgelegt. Anstelle des entfernten Texts wird die im dritten Parameter übergebene Zeichenfolge eingefügt. Aufgrund eines Anwendungsfehlers verkürzt IE 5 für Macintosh den neuen Text gegebenenfalls auf die Länge des ursprünglichen Textabschnitts. |
|
Parameter | |
|
|
Zurückgegebener Wert | |
Keiner. |
splitText( ) | NN 6 IE 5(Mac)/6(Win) DOM 1 |
splitText(offset) | |
Unterteilt die aktuelle Textnode in zwei gleichrangige Textnodes und hat ansonsten keine Auswirkungen auf den Text. |
|
Parameter | |
|
|
Zurückgegebener Wert | |
Referenz auf die zweite Textnode. |
substringData( ) | NN 6 IE 5(Mac)/6(Win) DOM 1 |
substringData(startOffset, count) | |
Gibt eine Kopie des angegebenen Segments des Textnodeinhalts zurück. Der zu kopierende Abschnitt wird durch die auf Null basierende Startpostion und die angegebene Anzahl der Zeichen festgelegt. |
|
Parameter | |
|
|
Zurückgegebener Wert | |
Zeichenfolge. |
tabIndex | NN 6 IE 4 DOM 1 |
Lesen/Schreiben | |
Dies ist eine Zahl, die die Position dieses Elements innerhalb der Tabulatorreihenfolge aller aktivierbaren Elemente im Dokument angibt. Für die Tabulatorreihenfolge gelten sehr strenge Regeln. Elemente, deren tabIndex-Eigenschaften Werte (nicht Null) zugewiesen wurden, befinden sich in der Reihenfolge an erster Stelle, wenn ein Benutzer die Tabulatortaste auf einer Seite verwendet. Der Fokus beginnt bei dem Element mit dem niedrigsten tabIndex-Wert und folgt der Reihenfolge bis zum höchsten Wert, unabhängig von der physischen Position eines Objekts auf der Seite oder in einem Dokument. Falls zwei Elemente die gleichen tabIndex-Werte aufweisen, erhält das Element, das zuerst im Dokument erscheint, auch zuerst den Fokus. Dann kommen alle Elemente, die entweder die Eigenschaft tabIndex nicht unterstützen oder deren Wert auf Null gesetzt ist. Diese Elemente werden in der Reihenfolge aktiviert, in der sie im Dokument angeordnet sind. |
|
Im W3C-DOM und in Netscape 6 ist die Eigenschaft tabIndex auf folgende Elementobjekte beschränkt: a, area, button, input, object, select und textarea. IE 4 unterstützt es darüber hinaus für die Elemente applet, body, div, embed, isindex, marquee, span, table und td. IE 5 erkennt dieses Attribut in Verbindung mit allen darstellbaren Elementen. Ein negativer Wert entfernt ein Element (nur in IE) vollständig aus der Tabulatorreihenfolge. |
|
Da Hyperlinks und Anker in der Mac-Version von IE 4 nicht über die Tabulatortaste zu erreichen sind, wird die Eigenschaft tabIndex bei a-Elementen in dieser Version ignoriert. |
|
Beispiel | |
document.getElementById("link3").tabIndex = 6; |
|
Wert | |
Eine ganze Zahl. |
|
Standardwert | |
0 |