Yadgar: Skript läuft korrekt durch, trotzdem Fehlermeldung!

High!

An sich habe ich jetzt den Bogen mit der Javascript-generierten Gliederung aus... aber als ich heute mein Script an eine etwas andere Dokumentstruktur (mit Tabelle) anpasste, bekam ich immer wieder die Meldung "knoten has no properties (line 104)" - die Zeile habe ich im Code entsprechend markiert!

Wie werde ich diese Fehlermeldung los? Ich sehe weit und breit keinen Deklarationsfehler, zumal die auf knoten zurückgehenden Unterobjekte ja auch fehlerfrei verwendet werden...

Bis bald im Khyberspace!

Yadgar

var h=1;
  var i=1;
  do
  {
    knoten = document.getElementById("haupt").getElementsByTagName("tr")[h];
    sub1 = knoten.firstChild; // Zeile 104!

while (sub1 != null)
    {
      if (sub1.nodeName == "TD")
      {
        sub2 = sub1.firstChild;
        while (sub2 != null)
        {
          if (sub2.nodeName == "P")
          {
            var num = document.createTextNode(i.toString() + ". ");
            sub2.insertBefore(num, sub2.firstChild);
            i++;
          }
          if (sub2.nodeName == "DIV")
          {
            var j = 1;
            sub3 = sub2.firstChild;
            while (sub3 != null)
            {
              if (sub3.nodeName == "P")
              {
                var subnum = document.createTextNode((i-1).toString() + "." + j.toString() + " ");
                sub3.insertBefore(subnum, sub3.firstChild);
                j++;
              }
              sub3 = sub3.nextSibling;
            }
          }
          sub2 = sub2.nextSibling;
        }
      }
      sub1 = sub1.nextSibling;
    }
    h++;
  }
  while (knoten != null);

  1. Hallo,

    prüfe, ob es sich um einen Textknoten (also z.B. Whitespace)  oder einen Elementknoten handelt.

    Ciao,
    Andreas

    --
    "Das Corporate Design für das Internet sieht eine Reihe von Grafikelementen vor, die die Optik der Webseite visuell und funktionell beeinflussen." - (Zitat aus dem "Styleguide Corporate Design"  eines großen Konzerns...)
    1. High!

      Hallo,

      prüfe, ob es sich um einen Textknoten (also z.B. Whitespace)  oder einen Elementknoten handelt.

      Es ist ein Elementknoten, und zwar <tr>!

      Bis bald im Khyberspace!

      Yadgar

      1. Hallo,

        Es ist ein Elementknoten, und zwar <tr>!

        ähm ja, nach der Zeile "knoten = document.getElementById("haupt").getElementsByTagName("tr")[h];" ist das eigentlich klar.
        War wohl noch nicht ganz wach...
        ;)

        Leider habe ich im Moment aber auch keine andere Idee zur Fehlerursache.
        Mit der Zeile bist Du ganz sicher?

        Ciao,
        Andreas

        --
        "Das Corporate Design für das Internet sieht eine Reihe von Grafikelementen vor, die die Optik der Webseite visuell und funktionell beeinflussen." - (Zitat aus dem "Styleguide Corporate Design"  eines großen Konzerns...)
        1. Hallo,

          wobei - noch einmal zu dieser Zeile:
          knoten = document.getElementById("haupt").getElementsByTagName("tr")[h];

          Du setzt ja h auf den Anfangswert 1.
          Hat denn das Element "haupt" immer mindestens zwei TR-Kinder?

          Beachte auch, daß - falls "haupt" ein TABLE-Element ist - das Kindelement nicht ein TR-Element ist, sondern ein THEAD- oder TBODY-Element!

          Ciao,
          Andreas

          --
          "Das Corporate Design für das Internet sieht eine Reihe von Grafikelementen vor, die die Optik der Webseite visuell und funktionell beeinflussen." - (Zitat aus dem "Styleguide Corporate Design"  eines großen Konzerns...)
          1. Hallo,

            knoten = document.getElementById("haupt").getElementsByTagName("tr")[h];
            Beachte auch, daß - falls "haupt" ein TABLE-Element ist - das Kindelement nicht ein TR-Element ist, sondern ein THEAD- oder TBODY-Element!

            oh Mann, beachte vor allem heute nichts mehr von dem, was ich schreibe.... Sorry!
            Ich glaube, ich ziehe mich für heute mal aus dem Forum zurück und komme erst wieder, wenn ich wieder einen klaren Kopf habe.
            :/

            Ciao,
            Andreas

            --
            "Das Corporate Design für das Internet sieht eine Reihe von Grafikelementen vor, die die Optik der Webseite visuell und funktionell beeinflussen." - (Zitat aus dem "Styleguide Corporate Design"  eines großen Konzerns...)