Servior: Frage zum Thema removeChild()

Hallo,

ich habe eine Frage zur Funktion removeChild(). Ich habe mir eine Funktion geschrieben, welche alle Links löschen soll, die in einer Tabelle stehen.

Soweit funktioniert das ganze auch, jedoch ist mein Problem dass nachdem alle Links gelöscht wurden, ich immernoch die selbe Anzahl an Links ausgegeben bekomme, obwohl diese ja entfernt sein sollten...

hier mal der Code:

function loeschen() {
  var doc = document.getElementById('screens').getElementsByTagName('a');
  alert(doc.length);
  for (i=1;i<=doc.length;i++) {
    if (doc[i] != undefined) {
      doc[i].removeChild(doc[i].firstChild);
    }
  }
}

  1. Hallo Servior.

    Soweit funktioniert das ganze auch, jedoch ist mein Problem dass nachdem alle Links gelöscht wurden, ich immernoch die selbe Anzahl an Links ausgegeben bekomme, obwohl diese ja entfernt sein sollten...

    Dir ist bewusst, dass sich durch dein Vorgehen „doc.length“ ständig verringert?

    function loeschen() {
      var doc = document.getElementById('screens').getElementsByTagName('a');
      alert(doc.length);
      for (i=1;i<=doc.length;i++) {
        if (doc[i] != undefined) {
          doc[i].removeChild(doc[i].firstChild);
        }
      }
    }

    Zäume das Pferd deshalb besser von hinten auf:

    function loeschen() {  
      
      var doc = document.getElementById('screens').getElementsByTagName('a');  
      
      alert(doc.length);  
      
      for (var i = doc.length; i > -1; --i) {  
      
        doc[i].parentNode.removeChild(doc[i]);  
      }  
    }
    

    Einen schönen Sonntag noch.

    Gruß, Mathias

    --
    ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
    debian/rules