Daniel: Kann Objekt mittels "getElementsByTagName" nicht ansprechen

Hallo,

Da ich in Javascript nicht gerade der Beste bin, möchte ich Euch um Hilfe bitten.
Ich will eine Zeitausgabe machen, die sich jede Sekunde aktualisiert, damit man immer die aktuelle Zeit sieht. Nun bin ich laut Selfhtml vorgegangen, aber ich kann das Objekt in dem die Zeitausgabe erfolgen soll (in diesem Fall ein <p> Tag)nicht ansprechen. Die betreffenden Codezeilen sehen folgendermassen aus:

<p>text</p>
...
<script language="javascript">
  <!--
  function showdate()
    {
    var actualdate = new Date();
    document.getElementsByTagName("p")[0].firstChild.data = actualdate;
    window.setTimeout("showdate();",1000);
    }

showdate();

//-->
</script>
...

Der Fehler den mir JS zurückgibt ist "...first.Child ist kein Objekt"

Es ist aber gesetzt und ich habe das genau laut Selfhtml ausgegeben, es ist der 1. <p> Tag im document, also muss der Array [0] sein.
Das Objekt wird auch vor dem Funktionsaufruf erzeugt.

Wäre sehr dankbar um Hilfe,

Grüsse,
Daniel

  1. Hallo,

    Der Fehler den mir JS zurückgibt ist "...first.Child ist kein Objekt"

    Es ist aber gesetzt und ich habe das genau laut Selfhtml ausgegeben, es ist der 1. <p> Tag im document, also muss der Array [0] sein.
    Das Objekt wird auch vor dem Funktionsaufruf erzeugt.

    Bist Du da sicher? Setze mal den ersten Aufruf von showdate() so an:

    <body onload="showdate()">

    und lege die Funktion selbst in den HEAD.

    MfG, Thomas

    1. Hallo Thomas,

      Danke für die prompte Antwort,ich bin jetzt ganz zufällig auf den Fehler draufgekommen, es muss anscheinend ein Text zwischen dem <p></p> Tag voreingetragen werden, wenn da nichts drinnsteht, gibt er einen Fehler aus, ich denke das das Objekt dann vielleicht noch nicht instanziert wurde und deswegen nicht ansprechbar ist.

      mfg,
      Daniel

      1. Hallo,

        Danke für die prompte Antwort,ich bin jetzt ganz zufällig auf den Fehler draufgekommen, es muss anscheinend ein Text zwischen dem <p></p> Tag voreingetragen werden, wenn da nichts drinnsteht, gibt er einen Fehler aus, ich denke das das Objekt dann vielleicht noch nicht instanziert wurde und deswegen nicht ansprechbar ist.

        Ohne Textknoten gibt es auch kein firstChild.

        MfG, Thomas

  2. Hi,

    document.getElementsByTagName("p")[0].firstChild.data = actualdate;
    Der Fehler den mir JS zurückgibt ist "...first.Child ist kein Objekt"

    first.Child oder firstChild?

    Und gibt es das Element zum Zeitpunkt der (ersten) Script-Ausführung auch schon?
    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/