Michael: "DOM-Dynamik" Unterschiede

Hallo.

Angenommen man hat fogendes HTML-Fragment

  
<div id="vater">  
  <div id="kind1">foo</div>  
  <div id="kind2">foo</div>  
</div>  

und wendet darauf folgendes Skript an:

  
var vater = document.getElementById("vater");  
vater.romoveChild(document.getElementById("kind1"));  
var erstesKind = vater.firstChild;  
alert(erstesKind.id);  

Was sollte hier eigentlich richtigerweise ausgegeben werden?

(Das klingt im ersten Moment evtl. nach einer dummen Frage, allerdings liefern hier FF und Opera "undefined" und der IE "kind2" (mit anderen hab ich es noch nicht probiert).)

Viele Grüße

Michael

  1. Hallo Michael,

    (Das klingt im ersten Moment evtl. nach einer dummen Frage, allerdings liefern hier FF und Opera "undefined" und der IE "kind2" (mit anderen hab ich es noch nicht probiert).)

    Das liegt daran, dass das erste Kind deines Vaters, der Textknoten nämlich, den ein Zeilenumbruch im Quelltext darstellt, keine id hat.

    Gruß Gernot

    1. Hi,

      Das liegt daran, dass das erste Kind deines Vaters, der Textknoten nämlich, den ein Zeilenumbruch im Quelltext darstellt, keine id hat.

      Wobei die Frage, ob dieser "Umbruch-Textknoten" gezählt wird, von den Browsern unterschiedlich gehandhabt wird - was man z.B. damit umgehen kann, indem man den Typ des Knotens abfragt - und ggf. mit nextSibbling den nächsten Knoten antestet ...

      Gruß, Cybaer

      --
      Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
  2. hi,

    Was sollte hier eigentlich richtigerweise ausgegeben werden?

    Eine Fehlermeldung, weil es eine Methode romoveChild nicht gibt.

    scnr,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }