fxsp: inserBefore

hallo zusammen
setze mich gerade mit javascript und dom auseinander und stecke momentan fest.   zu meinem problem:

folgende struktu besitzt mein formular:
<form>
<table id="fooTable">
  <tr>
    <td></td>
  </tr>
...
  <tr id="foo">
    <td></td>
  </tr>
</table>
</form>

nun möchte ich vor dem der tr foo eine neue tr einsetzen. dafür lautet - nach meinem bisherigen verständnis der befehl forlgendermassen:
node = "meinGebastelterNode";
trFoo = document.getElementById("foo");
document.getElementById("fooTable").insertBefore(trFoo, node);

firefox meldet aber einen nodeNotFoundError ...

freue mich über jeden tipp. danke.

liebe grüsse

fx

  1. Hallo,

    node = "meinGebastelterNode";
    trFoo = document.getElementById("foo");
    document.getElementById("fooTable").insertBefore(trFoo, node);

    da hast du wohl was vertauscht. besser geht es so:

      
    trfoo.parentNode.insertBefore(neuernode,trfoo);  
    
    

    Gruß plan_B

    --
         *®*´¯`·.¸¸.·
    1. danke.
      ist natürlich viel eleganter mit parentNode. so brauche ich nur ein element als bezugspunkt. danke für den tipp.
      mfg
      felix

  2. @@fxsp:

    <table id="fooTable">
      <tr>
        <td></td>

    Du hängst in dem Irrglauben fest, 'tr' wären Kindelemente von 'table'. Das sind sie in HTML 4 _niemals_ (folglich auch nicht in als 'text/html' verarbeitetem XHTML 1).

    Die Archivsuche nach "Nostradamus" sollte so einiges dazu liefern.

    Live long and prosper,
    Gunnar

    --
    Flughafen in Tempelhof
    findet jeder Hempel doof.
    1. Hallo,

      Die Archivsuche nach "Nostradamus" sollte so einiges dazu liefern.

      LOL - wonach sollte man auch sonst suchen, wenn es um HTML-Tabellen geht ;-)

      Gruß, Don P