japo: javascript und style.float

Hallo zusammen,

ich bastele gerade einem layout das ZWINGEND mit javascript generiert werden muss. scheitern tuts gerade an folgendem problem:

zwei div elemente sollen nebeneinander ausgerichtet werden. jau, dazu gibts 1000 und mehr threads. wenn ich das ganze mit html mache schauts auch gut aus.

<div style="width: 50px; height: 50px; background-color: yellow; float: left;"></div>
<div style="width: 50px; height: 50px; background-color: blue; float: left"></div>

jetzt will ich aber genau das mit javascript machen... also erstelle ich zwei div elemente, weise den farbe, höhe und breite zu und zu guter letzt noch ...style.float = "left";

d = document.createElement("div");
d.style.width = "50px";
d.style.height = "50px";
d.style.backgroundColor = "red";
d.style.float = "left";

d2 = document.createElement("div");

d2.style.width = "50px";
d2.style.height = "50px";
d2.style.backgroundColor = "green";
d2.style.float = "left";

document.getElementsByTagName("body")[0].appendChild(d);
document.getElementsByTagName("body")[0].appendChild(d2);

ergebnis: die divs werden UNTEREINANDER dargestellt. sowohl im IE und auf im FF. ich stehe kurz davor ins kloster einzutreten und enthaltsam von computern zu leben. ich hoffe, ihr könnt mir dabei helfen, das zu verhindern.

schonmal danke und viele grüße
japo

  1. Hallo Japo,

    ich habe jetzt keine Lust eine Testumgebung zu schaffen.

    Spontan würde ich vorschlagen, die style angabe nach dem erstellen der div's nochmal mit JS zu setzten.

    Liebe Grüße,

    Bernd

    1. danke für die Antwort... leider ändert das nachträgliche Ändern auch nichts. Weder IE noch FF.

      Als Testumgebung könntest du (wenn du Lust hast *g*) das Script aus dem ersten Posting einfach copy&pasten... ist genau der Code meiner Testumgebung.

      Aber ins Hirn will mir nicht, wieso das nicht funktioniert. Oder hab ich  da irgendwo doch nen Logikfehler?

  2. Liebe(r) japo,

    d.style.float = "left";

    im FF zumindest klappt das mit cssFloat. Einfach nur float verträgt sich mit den in Javascript reservierten Wörtern nicht!

    Warum der IE die Eigenschaft cssFloat nicht korrekt umsetzt, ist mir allerdings schleierhaft, passt aber zu meinem Bild vom IE...

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

    1. Felix, du bist schuld daran, dass das Kloster ohne mich auskommen muss ;D
      Danke danke danke.

      cssFloat ist neu für mich, aber damit klappts im FF, und google gibt die restliche antwort... warum auch immer der Internet Explorer ne Extratour braucht aber da isset nicht cssFloat, sondern styleFloat. Da sich die Browser aber nicht über das jeweilige andere Setting beklagen, kann man einfache beide Werte setzen und ist auf der (vorerst?!?) sicheren Seite.

      Viele Grüße
      japo

    2. Hi,

      Warum der IE die Eigenschaft cssFloat nicht korrekt umsetzt, ist mir allerdings schleierhaft, passt aber zu meinem Bild vom IE...

      Laut Goodmans Referenzwerk "JavaScript Bible" sind sowohl FFs cssFloat, als auch IEs styleFloat W3C-konform. Ob das stimmt oder nur dem Umstand geschuldet ist, daß der IE hier der Konkurrenz (wie generell im DOM-Bereich) schlicht voraus war, sei aber dahingestellt ... ;)

      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"!