SELFHTML/Quickbar JavaScript Objektreferenz

| ## all
| all: Allgemeines zur Verwendung HTML-Elemente ansprechen HTML-Elemente mit Namen ansprechen Eigenschaften: className (Style-Sheet-Klassenname eines Elements) dataFld (Datenfeld bei Datenanbindung) dataFormatAs (Datentyp bei Datenanbindung) dataPageSize (Anzahl Datensätze bei Datenanbindung) dataSrc (Datenquelle bei Datenanbindung) id (id-Name eines Elements) innerHTML (Inhalt eines Elements als HTML) innerText (Inhalt eines Elements als Text) isTextEdit (Editierbarkeit eines Elements) lang (Sprache eines Elements) language (Scriptsprache für ein Element) length (Anzahl Elemente) offsetHeight (Höhe eines Elements) offsetLeft (Linkswert der linken oberen Elementecke) offsetParent (Elternelement-Position) offsetTop (Obenwert der linken oberen Elementecke) offsetWidth (Breite eines Elements) outerHTML (Elementinhalt plus äußeres HTML) outerText (Elementinhalt plus äußerem Text) parentElement (Elternelement) parentTextEdit (Editierbarkeit des Elternelements) recordNumber (Datensatznummer bei Datenanbindung) sourceIndex (wievieltes Element) tagName (HTML-Tag des Elements) title (Titel des Elements) Methoden: click() (Element anklicken) contains() (Zeichenkette in Element enthalten) getAttribute() (Attribut in einem Element ermitteln) insertAdjacentHTML() (Element einfügen) insertAdjacentText() (Text einfügen) removeAttribute() (Attribut aus Element entfernen) scrollIntoView() (zu Element scrollen) setAttribute() (Attribut eines Elements einfügen) Unterobjekte: style

## all: Allgemeines zur Verwendung

Das Objekt `all`, das in der JavaScript-Objekthierarchie unterhalb des document-Objekts liegt, ist der Schlüssel zu Dynamischem HTML nach dem Ansatz von Microsoft. Mit Hilfe des all-Objekts haben Sie Script-Zugriff auf alle einzelnen Elemente und Inhalte einer HTML-Datei. Die meisten Eigenschaften können Sie lesen und ändern. Methoden des all-Objekts erlauben unter anderem das Einfügen oder Entfernen von HTML-Tags und von Angaben innerhalb eines HTML-Tags. Auf diese Weise ist der dynamische Zugriff auf alle Bestandteile einer Datei möglich.

Das all-Objekt gehört nicht zum offiziellen JavaScript-Sprachstandard. Es wurde von Microsoft für den MS Internet Explorer 4.0 implementiert. Das all-Objekt funktioniert zwar auch prima innerhalb von Scriptbereichen, die mit "JavaScript" ausgezeichnet sind, doch es ist bislang eigentlich nur Bestandteil von JScript, dem Microsoft-Derivat von JavaScript.

Eine zusammenhängende Einführung in das Thema finden Sie im Abschnitt Dynamischer Zugriff auf HTML-Elemente (Microsoft).

## HTML-Elemente ansprechen

Das all-Objekt behandelt alle HTML-Tags, die in einer HTML-Datei notiert sind, als Kette von Elementen. Sie können jedes einzelne HTML-Tag in einer Datei ansprechen:

### Beispiel:

    <html>
    <head>
    <title>Test</title>
    <script language="JavaScript">
    function Aendern()
    {
     document.all.tags("h1")[0].innerText = "Anderer Inhalt";
    }
    </script>
    </head>
    <body>
    <h1>eine &Uuml;berschrift</h1>
    <a href="javascript:Aendern()">Aendern</a>
    </body></html>

### Erläuterung:

Das Besipiel enthält eine Überschrift und einen Verweis. Beim Anklicken des Verweises wird die Funktion `Aendern()` aufgerufen. Diese Funktion ändert den Text der Überschrift dynamisch in `"Anderer Inhalt"`.

Um ein bestimmtes HTML-Tag anzusprechen, notieren Sie `document.all.tags`. Dahinter folgt, in runden Klammern und in Anführungszeichen, der Name des HTML-Tags, auf das Sie zugreifen möchten. Im Beispiel soll auf ein `<h1>`-Tag zugegriffen werden, also muß `("h1")` notiert werden. Damit haben Sie eine Art Zwischenobjekt, nämlich eine Kette aus allen `<h1>`-Elementen der Datei. Nun müssen Sie noch angeben, welches Sie meinen. Im Beispiel gibt es zwar nur eine `<h1>`-Überschrift, aber es könnte ja auch mehrere davon geben. Dazu notieren Sie in eckigen Klammern, das wievielte HTML-Tag vom angegebenen Typ Sie meinen. Beachten Sie, daß der Zähler bei 0 beginnt, d.h. das erste Element sprechen Sie mit `[0]` an, das zweite mit `[1]` usw. Beim Zählen gilt die Reihenfolge, in der die HTML-Tags des ausgewählten Typs in der Datei notiert sind.

Nachdem Sie ein bestimmtes, eindeutiges HTML-Tag angesprochen haben, können Sie dahinter eine der Eigenschaften oder Methoden des all-Objekts auf dieses HTML-Tag anwenden.

## HTML-Elemente mit Namen ansprechen

Sie können jedes HTML-Element in einem Script auch mit einem Namen ansprechen. Voraussetzung ist, daß das HTML-Element einen Namen erhalten hat.

### Beispiel:

    <html>
    <head>
    <title>Test</title>
    <script language="JavaScript">
    function MachPzuH()
    {
     document.all.MeinElement.outerHTML = "<h1>" +
     document.all.MeinElement.innerText + "</h1>";
    }
    </script>
    </head>
    <body>
    <p id="MeinElement">Ein Element mit Text</p>
    <a href="javascript:MachPzuH()">Aendern</a>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen Absatz und einen Verweis. Beim Anklicken des Verweises wird die Funktion `MachPzuH()` aufgerufen. Diese Funktion verwandelt den Absatz dynamisch in eine Überschrift 1. Ordnung.

Um ein HTML-Element mit seinem Namen anzusprechen, müssen Sie im einleitenden Tag des Elements das Attribut `id=` notieren und dahinter einen Namen vergeben. Im Beispiel ist das der Name `"MeinElement"`. Dann können Sie dieses Element mit `document.all.ElementName`, im Beispiel also mit `document.all.MeinElement`, ansprechen.

## className

Speichert die Style-Sheet-Klasse, zu der ein Element gehört.

### Beispiel:

    <html><head><title>Test</title>
    <style type="text/css">
    p.normal { color:black }
    p.spezial { color:red }
    </style>
    </head><body>
    <p class="normal" id="derAbsatz">Text</p>
    <script language="JavaScript">
     document.write("<br>Klasse davor: " + document.all.derAbsatz.className);
     document.all.derAbsatz.className = "spezial";
     document.write("<br>Klasse danach: " + document.all.derAbsatz.className);
    </script>
    </body></html>

### Erläuterung:

Im Beispiel werden im Dateikopf mit Hilfe von CSS Style-Sheets zwei Klassen für das HTML-Tag <p> definiert: eine Klasse `normal` und eine Klasse `spezial`. Im Dateikörper wird ein Absatz definiert, der zunächst die Klasse `normal` zugewiesen bekommt. In einem Script wird der Klassenname des Absatzes zunächst mit document.write() zur Kontrolle in die Datei geschrieben. Dann wird dem Absatz die andere definierte Klasse zugewiesen. Dabei übernimmt der Absatz auch dynamisch alle Style-Sheet-Eigenschaften der neuen Klasse. Anschließend wird der neue Klassenname zur Kontrolle auch noch mal in die Datei geschrieben.

## dataFld

Speichert den Namen eines Datenfeldes, das zur Ausgabe eines Datensatzes gehört. Dies bezieht sich auf das Konzept der Datenanbingung. Zur Einführung in das Thema lesen Sie den Abschnitt über Datenanbindung (Microsoft).

### Beispiel:

    <tr>
    <td><b>Vorname:</b></td>
    <td><span id="Test" datafld="vorname">
    </span><input type=button value="Test"
    onClick="alert(document.all.Test.dataFld)">
    </td>
    </tr>

### Erläuterung:

Das Beispiel stellt eine Tabellenzeile dar, in der ein Datenfeld ausgegeben wird (Die übrigen Befehle zur Datenanbindung fehlen hier). Zu Testzwecken ist ein Button eingefügt, bei dessen Anklicken der Name des Datenfeldes mit alert() ausgegeben wird. Es ist der Feldname, der in der HTML-Angabe `datafld=` steht. Wenn Sie den Wert dynamisch ändern, können Sie in der gleichen Tabellenzelle beispielsweise ein anderes Feld ausgeben.

## dataFormatAs

Speichert den Ausgabetyp eines Datenfeldes, das zur Ausgabe eines Datensatzes gehört. Dies bezieht sich auf das Konzept der Datenanbindung. Zur Einführung in das Thema lesen Sie den Abschnitt über Datenanbindung (Microsoft).

### Beispiel:

    <tr>
    <td><b>Vorname:</b></td>
    <td><span id="Test" datafld="vorname" dataformatas="HTML">
    </span><input type=button value="Test"
    onClick="alert(document.all.Test.dataFormatAs)">
    </td>
    </tr>

### Erläuterung:

Das Beispiel stellt eine Tabellenzeile dar, in der ein Datenfeld ausgegeben wird (Die übrigen Befehle zur Datenanbindung fehlen hier). Zu Testzwecken ist ein Button eingefügt, bei dessen Anklicken der Ausgabetyp des Datenfeldes mit alert() angezeigt wird. Da dieser im Ausgabebereich mit "HTML" festgelegt wurde, wird dieser Wert ausgegeben.

## dataPageSize

Speichert, wie viele Datensätze gleichzeitig ausgegeben werden sollen. Dies bezieht sich auf das Konzept der Datenanbindung. Zur Einführung in das Thema lesen Sie den Abschnitt über Datenanbindung (Microsoft).

### Beispiel:

    <input type=button value="Test"
    onClick="document.all.Anzeigetabelle.dataPageSize = 5">
    <table id="Anzeigetabelle" datasrc="#Adressen" datapagesize=1>
    ...usw. Daten ...
    </table>

### Erläuterung:

Das Beispiel deutet eine Tabelle an, die zur Ausgabe von Daten aus einer Datenanbindung gedacht ist (Die übrigen Befehle zur Datenanbindung fehlen hier). Da im einleitenden `<table>`-Tag die Angabe `datapagesize=1` steht, wird in der Tabelle immer nur ein Datensatz gleichzeitig ausgegeben. Zu Testzwecken ist ein Button eingefügt, bei dessen Anklicken sich der Wert auf 5 ändert. Danach werden immer 5 Datensätze gleichzeitig angezeigt.

## dataSrc

Speichert den Verweis auf das `<object>`-Tag, in dem eine Datenanbindung definiert wird. Dies bezieht sich auf das Konzept der Datenanbindung. Zur Einführung in das Thema lesen Sie den Abschnitt über Datenanbindung (Microsoft).

### Beispiel:

    <input type=button value="Test"
    onClick="alert(document.all.Anzeigetabelle.dataSrc)">
    <table id="Anzeigetabelle" datasrc="#Adressen" datapagesize=1>
    ...usw. Daten ...
    </table>

### Erläuterung:

Das Beispiel deutet eine Tabelle an, die zur Ausgabe von Daten aus einer Datenanbindung gedacht ist (Die übrigen Befehle zur Datenanbindung fehlen hier). Zu Testzwecken ist ein Button eingefügt, bei dessen Anklicken der Verweis auf die Datenquelle ausgegeben wird. Da dieser im Ausgabebereich mit "#Adressen" festgelegt wurde, wird dieser Wert ausgegeben. Durch Ändern dieser Objekteigenschaft können Sie dynamisch die Datenquelle wechseln. Voraussetzung ist, daß für den neuen Verweis auf die Datenquelle ein entsprechendes `<object>`-Tag für die Datenquelle definiert ist.

## id

Speichert den Namen eines Elements.

### Beispiel:

    <html><head><title>Test</title>
    </head><body>
    <p id="meinAbsatz">Text</p>
    <script language="JavaScript">
     document.write("<br>Name des Absatzes: " + document.all.meinAbsatz.id);
    </script>
    </body></html>

### Erläuterung:

Im Beispiel wird ein Absatz definiert, der mit `id=` den Namen `"meinAbsatz"` zugewiesen bekommt. In einem Script wird der vergebene Name mit document.write() zur Kontrolle in die Datei geschrieben.

## innerHTML

Speichert den Inhalt eines HTML-Elements. Wenn Sie beim dynamischen Ändern des gespeicherten Inhalts HTML-Tags notieren, werden diese bei der Aktualisierung des Elementinhalts interpretiert.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    var Neu = "neuer <b>fetter</b> Text";
    function Aendern()
    { document.all.meinAbsatz.innerHTML = Neu; }
    </script>
    </head><body>
    <p id="meinAbsatz">Text</p>
    <a href="javascript:Aendern()">Anderer Text</a>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen Textabsatz und einen Verweis. Beim Anklicken des Verweises wird die Funktion `Aendern()` aufgerufen. Diese Funktion weist dem Absatz mit der `id="meinAbsatz"` für die Eigenschaft `innerHTML` den Wert der zuvor definierten Variablen `Neu` zu. Der Inhalt des Absatzes ändert sich dann dynamisch und berücksichtigt dabei auch die HTML-Formatierung `<b>`...`</b>` beim neuen Inhalt des Elements.

Die Eigenschaft `innerHTML` sollten Sie nicht direkt beim Einlesen der HTML-Datei anwenden, sondern immer erst abhängig von Aktionen wie Verweisklicks oder Buttonklicks oder mit einem setTimeout() von einigen Sekunden davor. Bei Anwendung direkt beim Einlesen der Datei meldet der MS Internet Explorer Laufzeitfehler.

## innerText

Speichert den Textinhalt eines HTML-Elements. Sie können den Inhalt dynamisch ändern.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    var Neu = "neuer Text";
    function Aendern()
    { document.all.meinAbsatz.innerText = Neu; }
    </script>
    </head><body>
    <p id="meinAbsatz">Text</p>
    <a href="javascript:Aendern()">Anderer Text</a>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen Textabsatz und einen Verweis. Beim Anklicken des Verweises wird die Funktion `Aendern()` aufgerufen. Diese Funktion weist dem Absatz mit der `id="meinAbsatz"` für die Eigenschaft `innerText` den Wert der zuvor definierten Variablen `Neu` zu. Der Inhalt des Absatzes ändert sich dann dynamisch.

Die Eigenschaft `innerText` sollten Sie nicht direkt beim Einlesen der HTML-Datei anwenden, sondern immer erst abhängig von Aktionen wie Verweisklicks oder Buttonklicks oder mit einem setTimeout() von einigen Sekunden davor. Bei Anwendung direkt beim Einlesen der Datei meldet der MS Internet Explorer Laufzeitfehler.

## isTextEdit

Speichert, ob ein Element editierbar ist oder nicht. Wenn editierbar, hat die Eigenschaft den Wert `true`, wenn nicht editierbar, hat sie den Wert `false`. Derzeit sind nur bestimmte Formularelemente editierbar.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    function Ausgabe()
    {
     var Ausgabetext = "";
     for(i=0;i<document.Testform.length;++i)
      Ausgabetext = Ausgabetext + "<br>" + document.all.tags("input")[i].isTextEdit;
     document.all.Ausgabe.innerHTML = Ausgabetext;
    }
    </script>
    </head><body>
    <form name="Testform">
    <input type=text size=30><br>
    <input type=radio><br>
    <input type=button value="Test" onClick="Ausgabe()">
    </form>
    <p id="Ausgabe"></p>
    </body></html>

### Erläuterung:

Das Beispiel definiert ein Formular mit einigen verschiedenen Elementen. Das letzte Element ist ein Button. Beim Anklicken des Buttons wird die Funktion `Ausgabe()` aufgerufen. Diese Funktion ermittelt in einer Schleife für jedes Element des Formulars, ob es editierbar ist oder nicht. Die Werte werden in einer Variablen `Ausgabetext` gesammelt und HTML-formatiert. Am Ende wird dem Textabsatz, der in der Datei am Ende definiert ist, mit der Eigenschaft innerHTML der gespeicherte Wert von `Ausgabetext` zugewiesen. Auf diese Weise steht hinterher in der Datei, welche der Formularfelder als editierbar gelten und welche nicht.

## lang

Speichert die Sprache eines HTML-Tags, wie sie im Attribut `lang=` definierbar ist.

### Beispiel:

    <html><head><title>Test</title>
    </head><body>
    <p id="Absatz" lang="it">mi chiamo Stefan</p>
    <script language="JavaScript">
     alert(document.all.Absatz.lang);
    </script>
    </body></html>

### Erläuterung:

Im Beispiel wird ein Textabsatz definiert, dem mit `lang=` die Sprache Italienisch (`it`) zugewiesen wird. Unterhalb davon steht ein kleines JavaScript, das mit alert() den vergebenen Wert für die Sprache ausgibt.

## language

Speichert, welche Sriptsprache in einem aktuellen Script verwendet wird.

### Beispiel:

    <html><head><title>Test</title>
    <script id="DiesesScript" language="JScript">
     alert(document.all.DiesesScript.language);
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel gibt mit alert() aus, welche Scriptsprache für die Ausgabe bewirkt hat. Das ist derjenige Wert, der im `<script>`-Tag beim Attribut `language=` vergeben wurde. Da der MS Internet Explorer mehrere Scriptsprachen beherrscht, kann dieser Befehl in manchen Fällen für Gewißheit sorgen, etwa, wenn man ihn in eine if-Abfrage einbettet.

## length

Speichert die Anzahl HTML-Tags einer HTML-Datei. Tags, die aus einem einleitenden und einem abschließenden Tag bestehen, werden als ein Tag gezählt.

### Beispiel:

    <html><head><title>Test</title>
    </head><body>
    <p>Ein Absatz</p>
    <p>Noch ein Absatz</p>
    <script language="JavaScript">
    alert("Diese Datei hat " + document.all.length + " HTML-Tags");
    </script>
    </body></html>

### Erläuterung:

Das Beispiel zeigt eine vollständige HTML-Datei mit Grundgerüst, zwei Textabsätzen und einem Script. Innerhalb des Script wird mit alert() ausgegeben, wie viele HTML-Tags die Datei enthält.

## offsetHeight

Speichert die Höhe eines Elements.

### Beispiel:

    <html><head><title>Test</title>
    </head><body id="DieseDatei">
    <script language="JavaScript">
     alert(document.all.DieseDatei.offsetHeight);
    </script>
    </body></html>

### Erläuterung:

Das Beispiel gibt mit alert() die reale Höhe des `<body>`-Tags der Datei aus. Das Ergebnis ist die tatsächliche Anzeigehöhe des Fensters, in dem das Dokument angezeigt wird. Die Eigenschaft läßt sich aber ebensogut auf HTML-Elemente innerhalb der angezeigten Inhalte anwenden.

## offsetLeft

Speichert den Abstand eines Elements zum linken Fensterrand.

### Beispiel:

    <html><head><title>Test</title>
    </head><body>
    <div id="Bereich" style="padding:20px">
    <p id="Absatz">Hier etwas Text</p>
    </div>
    <script language="JavaScript">
     alert(document.all.Bereich.offsetLeft);
     alert(document.all.Absatz.offsetLeft);
    </script>
    </body></html>

### Erläuterung:

Im Beispiel wird ein `<div>`-Tag mit einem `<p>`-Tag innerhalb davon definiert. Damit ein wenig innerer Abstand in die Sache kommt, wird beim `<div>`-Tag mit Hilfe einer Style-Sheet-Angabe ein Innenabstand definiert. Unterhalb dieser Befehle steht ein JavaScript, das die Abstände der beiden Elemente zum linken Fensterrand mit alert() ausgibt.

## offsetParent

Speichert dasjenige Elternelement eines Elements, von dessen Positionierung die Positionierung des Elements abhängt. `offsetParent` ist dabei eine Art Zeiger auf das übergeordnete Element. Hinter der Eigenschaft lassen sich wiederum alle Eigenschaften und Methoden des all-Objekts notieren. Diese gelten dann für das Element, auf das der Zeiger zeigt.

### Beispiel:

    <html><head><title>Test</title>
    </head><body>
    <a href="javascript:alert(document.all.Bereich.offsetParent.tagName)">Test</a>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen Verweis. Beim Anklicken des Verweises wird mit alert() der HTML-Tagname desjenigen Elternelements ausgegeben, zu dem das Element selbst relativ positioniert ist. Im Beispiel ist das `<body>`-Tag dieses Elternelement. So, wie im Beispiel die all-Objekteigenschaft tagName auf `offsetParent` angewendet wird, lassen sich auch alle anderen Eigenschaften und Methoden des all-Objekts auf das Element anwenden.

## offsetTop

Speichert den Abstand eines Elements zum oberen Fensterrand.

### Beispiel:

    <html><head><title>Test</title>
    </head><body>
    <div id="Bereich" style="padding:20px">
    <p id="Absatz">Hier etwas Text</p>
    </div>
    <script language="JavaScript">
     alert(document.all.Bereich.offsetTop);
     alert(document.all.Absatz.offsetTop);
    </script>
    </body></html>

### Erläuterung:

Im Beispiel wird ein `<div>`-Tag mit einem `<p>`-Tag innerhalb davon definiert. Damit ein wenig innerer Abstand in die Sache kommt, wird beim `<div>`-Tag mit Hilfe einer Style-Sheet-Angabe ein Innenabstand definiert. Unterhalb dieser Befehle steht ein JavaScript, das mit alert() die Abstände der beiden Elemente zum oberen Fensterrand ausgibt.

## offsetWidth

Speichert die Breite eines Elements.

### Beispiel:

    <html><head><title>Test</title>
    </head><body id="DieseDatei">
    <script language="JavaScript">
     alert(document.all.DieseDatei.offsetWidth);
    </script>
    </body></html>

### Erläuterung:

Das Beispiel gibt mit alert() die reale Breite des `<body>`-Tags der Datei aus. Das Ergebnis ist die tatsächliche Anzeigebreite des Fensters, in dem das Dokument angezeigt wird. Die Eigenschaft läßt sich aber ebensogut auf HTML-Elemente innerhalb der angezeigten Inhalte anwenden.

## outerHTML

Speichert den Inhalt eines HTML-Tags plus das Anfangs- und End-Tag mit allen Angaben.

### Beispiel:

    <html>
    <head>
    <title>Test</title>
    </head>
    <body>
    <a "id=Verweis" href="javascript:alert(this.Verweis.outerHTML)">Verweis</a>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen Verweis, der beim Anklicken seinen eigenen vollständigen HTML-Befehl mit alert() ausgibt.

Die Eigenschaft `outerHTML` sollten Sie nicht direkt beim Einlesen der HTML-Datei anwenden, sondern immer erst abhängig von Aktionen wie Verweisklicks oder Buttonklicks oder mit einem setTimeout() von einigen Sekunden davor. Bei Anwendung direkt beim Einlesen der Datei meldet der MS Internet Explorer Laufzeitfehler.

## outerText

Speichert den gleichen Wert wie innerText, kann jedoch beim Ändern umgebende HTML-Tags entfernen und durch Text ersetzen.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    function Test()
    {
     document.all.fett.outerText = document.all.fett.innerText;
    }
    </script>
    </head><body>
    <p>Text mit <b id="fett" onclick="Test()">fetter Schrift</b></p>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen Text mit einem als fett markierten Teil. Beim Anklicken des fetten Teils wird die Funktion `Test()` aufgerufen. Diese Funktion ersetzt den Wert von `outerText` des fetten Elements durch den Wert von `innerText` des gleichen Elements. Der Effekt ist, daß die Formatierung mit `<b>`...`</b>` verloren geht, weil outerText intern die umgebende HTML-Formatierung mit speichert, innerText aber nicht.

Die Eigenschaft `outerText` sollten Sie nicht direkt beim Einlesen der HTML-Datei anwenden, sondern immer erst abhängig von Aktionen wie Verweisklicks oder Buttonklicks oder mit einem setTimeout() von einigen Sekunden davor. Bei Anwendung direkt beim Einlesen der Datei meldet der MS Internet Explorer Laufzeitfehler.

## parentElement

Speichert das Elternelement eines Elements. `offsetElement` ist dabei eine Art Zeiger auf das übergeordnete Element. Hinter der Eigenschaft lassen sich wiederum alle Eigenschaften und Methoden des all-Objekts notieren. Diese gelten dann für das Element, auf das der Zeiger zeigt.

### Beispiel:

    <html><head><title>Test</title>
    </head><body>
    <div id="Bereich">
    <a id="Test"
    href="javascript:alert(document.all.Test.parentElement.id)">Elternteil</a>
    </div>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen Verweis. Beim Anklicken des Verweises wird mit alert() der id-Name des Elternelements ausgegeben. Im Beispiel ist das der Name `"Bereich"` des `<div>`-Tags. So, wie im Beispiel die all-Objekteigenschaft id auf `offsetElement` angewendet wird, lassen sich auch alle anderen Eigenschaften und Methoden des all-Objekts auf das Element anwenden.

## parentTextEdit

Speichert das nächsthöhere Element in der Elementhierarchie, das Editieren von Text erlaubt.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    function Test()
    {
     alert(document.all.Verweis.parentTextEdit.tagName);
    }
    </script>
    </head><body>
    <a id="Verweis" href="javascript:Test()">Editieren?</a>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen Verweis. Beim Anklicken des Verweises wird die Funktion `Test()` aufgerufen. Diese Funktion gibt mit alert() den Namen desjenigen HTML-Tags aus, das aus Sicht des Verweises das nächsthöhere Element darstellt, das Editieren von Text erlaubt. Im Beispiel ist dies das `<body>`-Tag. Der Inhalt dieses Tags ist zwar nicht editierbar, aber es ist dasjenige nächsthöhere Tag, unterhalb dessen eidierbare Elemente wie Formular-Eingabefelder notiert werden können.

## recordNumber

Speichert, der wievielte Datensatz angezeigt wird. Dies bezieht sich auf das Konzept der Datenanbingung. Zur Einführung in das Thema lesen Sie den Abschnitt über Datenanbindung (Microsoft).

### Beispiel:

    <tr>
    <td><b>Vorname:</b></td>
    <td><span id="Test" datafld="vorname">
    </span><input type=button value="Test"
    onClick="alert(document.all.Test.recordNumber)">
    </td>
    </tr>

### Erläuterung:

Das Beispiel stellt eine Tabellenzeile dar, in der ein Datenfeld ausgegeben wird (Die übrigen Befehle zur Datenanbindung fehlen hier). Zu Testzwecken ist ein Button eingefügt, bei dessen Anklicken die Datensatznummer des aktuell angezeigten Datensatzes ausgegeben wird.

## sourceIndex

Speichert, das wievielte HTML-Element ein Element innerhalb einer HTML-Datei ist.

### Beispiel:

    <html><head><title>Test</title>
    </head><body>
    <p>Etwas Text mit<br>Zeilenumbruch</p>
    <p id="Absatz">HTML-Element, aber das wievielte?</p>
    <a href="javascript:alert(document.all.Absatz.sourceIndex)">Test</a>
    </body></html>

### Erläuterung:

Das Beispiel enthält verschiedene Elemente, unter anderem einen Absatz mit dem id-Namen `"Absatz"`. Außerdem enthält das Beispiel einen Verweis. Beim Anklicken des Verweises wird mit alert() ausgegeben, das wievielte Element der Absatz mit besagtem Namen innerhalb der HTML-Datei ist. Im Beispiel ist es das 7. Element, denn es werden alle einleitenden und alleinstehenden HTML-Tags der gesamten HTML-Datei gezählt.

## tagName

Speichert den HTML-Tagnamen eines Elements.

### Beispiel:

    <html><head><title>Test</title>
    </head><body id="DieseDatei">
    <a href="javascript:alert(document.all.DieseDatei.tagName)">Test</a>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen Verweis. Beim Anklicken des Verweises wird mit alert() der HTML-Tagname desjenigen Elements ausgegeben, das den id-Namen `"DieseDatei"` hat. Im Beispiel ist es das `<body>`-Tag.

## title

Speichert den Wert, der im Attribut `title=` eines Elements vergeben wurde. Dieses Attribut ist beim MS Internet Explorer bei allen sichtbaren Elementen erlaubt und bewirkt beim Darüberfahren mit der Maus, daß eine Art Tooltip (Hilfetext-Popup) zu dem Element angezeigt wird.

### Beispiel:

    <html><head><title>Test</title>
    </head><body>
    <p id="Absatz" title="Hilfe zum Text" onClick="alert(document.all.Absatz.title)">Text</p>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen Textabsatz. Dieser Textabsatz erhält mit dem Attribut `title=` einen Tooltip-Text. Beim Darüberfahren mit der Maus erscheint der Tooltip als kleines Popup-Fenster. Beim Anklicken des Absatzes wird der gleiche Text mit alert() ausgegeben.

## click()

Bewirkt, daß ein Element angeklickt wird, so wie wenn der Anwender mit der Maus auf das Element klickt. Erwartet keine Parameter.

### Beispiel:

    <html><head><title>Test</title>
    </head><body>
    <script language="JavaScript">
    <a id="V1" href="javascript:alert('Verweis 1 geklickt')">Verweis 1</a><br>
    <a href="javascript:document.all.V1.click()">Verweis 2</a><br>
    </script>
    </body></html>

### Erläuterung:

Das Beispiel enthält zwei Verweise. Beim Klicken auf den ersten Verweis wird mit alert() die Meldung "Verweis 1 geklickt" ausgegeben. Beim Klicken auf den zweiten Verweis wird die Methode `click()` auf den ersten Verweis angewendet. Dadurch wird dieser scriptgesteuert angeklickt, und es wird trotz Klickens auf den zweiten Verweis die Meldung "Verweis 1 geklickt" ausgegeben.

## contains()

Ermittelt, ob ein Element ein bestimmtes anderes Element enthält. Erwartet als Parameter den id-Namen des gesuchten inneren Elements.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    function Test()
    {
     if(document.all.dieseDatei.contains(Absatz))
      alert(document.all.Absatz.innerText);
    }
    </script>
    </head><body id="dieseDatei">
    <p id="Absatz">Ein Text</p>
    <a href="javascript:Test()">Test</a>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen Verweis. Beim Anklicken des Verweises wird die Funktion `Test()` aufgerufen. Diese Funktion überprüft, ob das `<body>`-Tag, das den id-Namen `dieseDatei` hat, ein Element enthält, das den id-Namen `Absatz` hat. Wenn ja, wird der innere Text dieses Elements mit alert() ausgegeben.

## getAttribute()

Ermittelt, ob ein Element in sinem HTML-Tag ein bestimmtes Attribut enthält oder nicht. Gibt den Wert zurück, den das Attribut hat, falls das Attribut gefunden wird, ansonsten die leere Zeichenkette `""`. Erwartet folgende Parameter:
1. Attribut = der Name des gesuchten Attributs im HTML-Tag.
2. Groß/Kleinschreibung = `true` übergeben, wenn bei dem Attribut Groß/Kleinschreibung unterschieden werden soll, oder `false`, wenn es egal ist, wie das Attribut geschrieben ist.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    function Test()
    {
     if(document.all.Absatz.getAttribute("align","false") == "center")
       document.all.Absatz.setAttribute("align","right","false");
    }
    </script>
    </head><body">
    <p id="Absatz" align=center>Ein Text</p>
    <a href="javascript:Test()">Test</a>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen zentriert ausgerichteten Absatz mit dem id-Namen `Absatz` und einen Verweis. Beim Anklicken des Verweises wird die Funktion `Test()` aufgerufen. Diese Funktion ermittelt mit `getAttribute()`, ob das Element mit dem Namen `Absatz` ein Attribut `align` enthält. Außerdem wird abgefragt, ob der Wert diser Angabe gleich `center` ist. Da dies im Beispiel der Fall ist, wird die abhängige Anweisung ausgeführt. Darin wird das Attribut `align=` mit Hilfe von setAttribute() dynamisch geändert, sodaß der Absatz hinterher rechtsbündig ausgerichtet ist.

## insertAdjacentHTML()

Fügt zusätzlichen HTML-Code vor oder oder nach einem Element ein. Erwartet folgende Parameter:
1. Position = Angabe, wo genau der HTML-Code hinzugefügt werden soll. Übergeben Sie `BeforeBegin`, wenn der Code vor dem einleitenden HTML-Tag des Elements eingefügt werden soll, `AfterBegin`, wenn der Code nach dem einleitenden Tag vor dem Inhalt eingefügt werden soll, `BeforeEnd`, wenn der Code am Ende des Inhalts vor dem abschließenden Tag eingefügt werden soll, oder `AfterEnd`, wenn der Code hinter dem abschließenden HTML-Tag eingefügt werden soll.
2. Code = Der HTML-Code, der eingefügt werden soll.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    var i = 0;
    var Numerierung = "";
    function Numerieren()
    {
      Numerierung = "<b>" + (i+1) + ".</b> ";
      if(i < document.all.tags("p").length)
       document.all.tags("p")[i].insertAdjacentHTML("AfterBegin",Numerierung);
      i = i + 1;
    }
    </script>
    </head><body>
    <p>Ein Absatz</p>
    <p>Ein anderer Absatz</p>
    <p>Noch ein Absatz</p>
    <a href="javascript:Numerieren()">Numerieren</a>
    </body></html>

### Erläuterung:

Das Beispiel enthält drei Absätze und einen Verweis. Bei jedem Klick auf den Verweis wird der jeweils nächste Absatz dynamisch durchnumeriert. Dazu wird beim Klick auf den Verweis die Funktion `Numerieren()` aufgerufen. Diese Funktion verwaltet die beiden global definierten Variablen `i` (Zähler für die Numerierung) und `Numerierung` (HTML-formatierte Zeichenkette, die die Numerierung hinzufügt). Solange der Zähler für die Numerierung kleiner ist als die Anzahl der verfügbaren Absätze, wird im jeweils nächsten Absatz mit `insertAdjacentHTML()` hinter dem einleitenden `<p>`-Tag dynamisch der aktuelle Wert der Variablen `Numerierung` eingefügt.

## insertAdjacentText()

Fügt zusätzlichen Text vor oder oder nach einem Element ein. Erwartet folgende Parameter:
1. Position = Angabe, wo genau der Text hinzugefügt werden soll. Übergeben Sie `BeforeBegin`, wenn der Text vor dem einleitenden HTML-Tag des Elements eingefügt werden soll, `AfterBegin`, wenn der Text nach dem einleitenden Tag vor dem Inhalt eingefügt werden soll, `BeforeEnd`, wenn der Text am Ende des Inhalts vor dem abschließenden Tag eingefügt werden soll, oder `AfterEnd`, wenn der Text hinter dem abschließenden HTML-Tag eingefügt werden soll.
2. Text = Der Text, der eingefügt werden soll.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    function Ergaenzen()
    {
     document.all.DynText.insertAdjacentText("BeforeEnd"," wird dynamisch!");
    }
    </script>
    </head><body>
    <p id="DynText">HTML</p>
    <a href="javascript:Ergaenzen()">Ergaenzen</a>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen Absatz mit dem id-Namen `DynText`, der nur das Wort "HTML" enthält. Beim Anklicken des Verweises unterhalb wird die Funktion `Ergaenzen()` aufgerufen. Diese Funktion fügt vor dem abschließenden Tag den Text " wird dynamisch" ein.

## removeAttribute()

Entfernt ein bestimmtes Attribut aus einem bestimmten HTML-Tag. Erwartet folgende Parameter:
1. Attribut = der Name des gesuchte Attributs im HTML-Tag.
2. Groß/Kleinschreibung = `true` übergeben, wenn bei dem Attribut Groß/Kleinschreibung unterschieden werden soll, oder `false`, wenn es egal ist, wie das Attribut geschrieben ist.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    function Test()
    {
    document.all.Absatz.removeAttribute("align","false");
    }
    </script>
    </head><body">
    <p id="Absatz" align=center>Ein Text</p>
    <a href="javascript:Test()">Test</a>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen zentriert ausgerichteten Absatz mit dem id-Namen `Absatz` und einen Verweis. Beim Anklicken des Verweises wird die Funktion `Test()` aufgerufen. Diese Funktion entfernt aus dem Absatz das Attribut `align`, sodaß der Absatz hinterher linksbündig ausgerichtet ist, weil das die Normaleinstellung für das `<p>`-Tag ist.

## scrollIntoView()

Positioniert den Inhalt im Anzeigefenster des Browsers so, daß ein bestimmtes Element angezeigt wird. Erwartet einen Parameter. Übergeben Sie `true`, wenn der Inhalt so positioniert werden soll, daß das Element oben im Anzeigefenster erscheint, oder `false`, wenn das Element unten im Anzeigefenster plaziert sein soll.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    function Test()
    {
    document.all.Absatz.scrollIntoView("true");
    }
    </script>
    </head><body>
    <script language="JavaScript">
    <p id="Absatz">Ein Text</p>
    for(i=1;i<100;++i)
     document.write("<br>Zeile " + i);
    </script>
    <p><a href="javascript:Test()">Test</a></p>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen Textabsatz mit dem id-Namen `Absatz`. Dann schreibt das Beispiel in einem Scriptbereich mit der write()-Methode 100 Zeilen in die Datei, damit die Datei zu Testzwecken schön lang ist. Unterhalb davon ist dann ein Verweis notiert. Beim Anklicken des Verweises wird die Funktion `Test()` aufgerufen. Diese Funktion positioniert den Inhalt des Anzeigefensters neu, und zwar so, daß der Textabsatz `Absatz` am oberen Fensterrand angezeigt wird.

## setAttribute()

Fügt in einem bestimmten HTML-Tag ein bestimmtes Attribut hinzu. Erwartet folgende Parameter:
1. Attribut = der Name des gewünschten Attributs.
2. Wert = die gewünschte Wertzuweisung für die Zusatzangabe.
3. Groß/Kleinschreibung = `true` übergeben, wenn bei dem Attribut Groß/Kleinschreibung unterschieden werden soll, oder `false`, wenn es egal ist, wie das Attribut geschrieben wird.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    function Test()
    {
    document.all.Absatz.setAttribute("align","center","false");
    }
    </script>
    </head><body">
    <p id="Absatz">Ein Text</p>
    <a href="javascript:Test()">Test</a>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen zentriert ausgerichteten Absatz mit dem id-Namen `Absatz` und einen Verweis. Beim Anklicken des Verweises wird die Funktion `Test()` aufgerufen. Diese Funktion fügt in dem Absatz das Attribut `align` hinzu, und zwar mit der Wertzuweisung `center`. Dadurch wird der Absatz hinterher zentriert ausgerichtet.

weiter: | style
zurück: | document

SELFHTML/Quickbar JavaScript Objekt-Referenz

© 1998 Stefan Münz, muenz@csi.com