Raphael: Style-Attribut lässt sich generell nicht setzen / auslesen

Guten Morgen zusammen,

bei den weiteren Recherchen zu meinem gestrigen Posting bin ich über folgendes gestolpert:

Ich habe eine Tabelle:

<table border=1 id="tabelle" style="width:100%;">
    <tr id="tr0"><td test="4">test01</td><td>test02</td></tr>
    <tr id="tr1"><td height="10">test11</td><td>test12</td></tr>
    <tr id="tr2"><td height="10">test21</td><td>test22</td></tr>
  </table>

Die Tabelle wird auf der Webseite wie gewünscht angezeigt (über die volle Breite). Nun lasse ich mir mit folgendem Code den Namen, den Wert sowie die Art des Attributs/Ereignisses (Knotens) anzeigen:

var hoehe="";
for (i=0;i<document.getElementsByTagName("table")[0].attributes.length;i++)
hoehe += document.getElementsByTagName("table")[0].attributes[i].nodeName+" ,  "+document.getElementsByTagName("table")[0].attributes[i].nodeValue+" ,  "+document.getElementsByTagName("table")[0].attributes[i].nodeType+"<br>";

Dabei wird (Ausschnitt) folgendes ausgegeben:

border,1 ,2
id, tabelle, 2
style, null, 2

Daraufhin habe ich mir mit dem gleichen Code die Atrribute/Ereignisse des td[0] ausgeben lassen und dabei festgestellt, dass folgende Eigenschaft (wie gewünscht) neu definiert wurde:

test, 4, 2

Nun die Preisfrage: Wieso kann ich alle Attribute setzen und auch neue definieren, aber habe keinen Zugriff auf das style-Attribut?

(Wenn es hilft: Ich brauche das für Intranet, also reicht es, wenn die Vorschläge in neuren IEs laufen.)

MfG,

Raphael

  1. Hi,

    Nun die Preisfrage: Wieso kann ich alle Attribute setzen und auch neue definieren, aber habe keinen Zugriff auf das style-Attribut?

    Du hast mal getAttribute() probiert?

    (Wenn es hilft: Ich brauche das für Intranet, also reicht es, wenn die Vorschläge in neuren IEs laufen.)

    Ich würde Styles direkt mit der dazugehörigen Eigenschaft auslesen (bzw. tue es auch immer so ;-)): alert(document.getElementById("tabelle").style.width);

    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"!
    1. Hi, wenn ich es mit getAttribute() probiere, bekomme ich immerhin schon mal [object] und nicht null zurück, mache ich es mit document.getElementById("tabelle").style.width bekomme ich eine leere Hinweisbox.

      Setzen kann ich es
      document.getElementById("tabelle").style.width = "75%";
      leider auch nicht. Das setzen ist für meine Intranetapplikation aber unbedingt notwendig.

      Gruß,

      Raphael

      1. Hi,

        Setzen kann ich es
        document.getElementById("tabelle").style.width = "75%";
        leider auch nicht.

        Dann machst Du wohl noch einen anderen Fehler, der den Browser "verwirrt". ;-)

        Bei mir funktioniert das (nebst Auslesen der alten & neuen Werte) nämlich tadelöser! :-))

        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"!
        1. Hi,

          dann schau doch bitte nochmal auf den Code aus dem ursprünglich Posting, ob du da einen Fehler entdeckst, da ich echt ratlos bin, zumal das Script ja ohne Fehlermeldung alle Attribute auflistet.

          Gruß (schon mit deutlich weniger Haaren),

          Raphael

          1. Hi,

            dann schau doch bitte nochmal auf den Code aus dem ursprünglich Posting, ob du da einen Fehler entdeckst, da ich echt ratlos bin, zumal das Script ja ohne Fehlermeldung alle Attribute auflistet.

            Keine Zeit (mehr).

            Zum Testen habe ich nur deine Tabelle genommen, und meine Anweisungen und es lief (ja, auch IE). ;-)

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