Patrick Rolefs: Hat der IE Probleme mit setAttribute?

Hallo,

ich habe Probleme bei der Erstellung einer Tabelle mit dem IE7.
Setzte ich Attribute wie z.B.

setAttribute("class", 'row_03');
setAttribute("colspan", '3');

werden diese beim IE7 im Quelltext zwar richtig eingefügt, aber nicht richtig dargestellt.

Hat der IE7 ein generelles Problem bei der richtigen Darstellung von Elementen, deren Attribute durch setAttributet eingefügt wurden?

  1. n'abend,

    setAttribute("class", 'row_03');
    setAttribute("colspan", '3');

    der IE hat tatsächlich Probleme mit falsch geschriebenen Attributnamen. Das JS-Objekt des <td>-Elements kennt "colSpan", aber nicht "colspan".

    Abgesehen davon brauchst du in den meisten Fällen nicht mit setAttribute rumhampeln, folgendes tut's (oft einfacher):

    var obj = document.getElementById('someID');  
    obj.className = 'row_123';  
    obj.colSpan = 3;
    

    weiterhin schönen abend...

    --
    Freundlich wie man war, hat man mir Großbuchstaben geschenkt.
    sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|
    1. Hallo,

      setAttribute("class", 'row_03');
      setAttribute("colspan", '3');

      der IE hat tatsächlich Probleme mit falsch geschriebenen Attributnamen. Das JS-Objekt des <td>-Elements kennt "colSpan", aber nicht "colspan".

      Was heißt hier „falsch geschrieben“? In HTML ist es egal, in XHTML *müssen* Attribute dagegen klein geschrieben werden.

      Mich enttäuscht übrigens, dass der IE7 immer noch zu dämlich ist, um mit „setAttribute“ richtig umzugehen.

      mfg. Daniel

      1. Hallo Daniel

        Was heißt hier „falsch geschrieben“? In HTML ist es egal, in XHTML *müssen* Attribute dagegen klein geschrieben werden.

        Und in Javascript?

        Auf Wiederlesen
        Detlef

        --
        - Wissen ist gut
        - Können ist besser
        - aber das Beste und Interessanteste ist der Weg dahin!
        1. Hallo,

          Was heißt hier „falsch geschrieben“? In HTML ist es egal, in XHTML *müssen* Attribute dagegen klein geschrieben werden.

          Und in Javascript?

          Dort steht nichts über „setAttribute“.
          Die JS-Eigenschaften entsprechen nicht immer den konkreten Attribute-Namen.

          Beispiel:

            
          El.className = Klasse
          

          ist das gleiche, wie

            
          El.setAttribute("class",Klasse);
          

          Nur MS kapiert das anscheinend nicht…

          mfg. Daniel

  2. Hi,

    werden diese beim IE7 im Quelltext zwar richtig eingefügt, aber nicht richtig dargestellt.

    wenn Du die Eigenschaft direkt ansprechen kannst verweigert IE die setAttribute-Anweisung, daher:
        el.className="row_03"

    Btw: Verwendung des Unterstriches in css Klassen/ID's wird afaik nicht mehr empfohlen...

    Gruesse, Joachim

    --
    Am Ende wird alles gut.