WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   HTML: rowspan in tabelle über DOM ändern (http://www.wcm.at/forum/showthread.php?t=231082)

RaistlinMajere 08.10.2008 13:49

HTML: rowspan in tabelle über DOM ändern
 
ich habe eine HTML-tabelle, wo ich mehrere felder vorerst über style="display:none" unsichtbar lasse. sobald diese per scriptaufruf sichtbar gemacht werden, muß sich jedoch das rowspan eines anderen feldes ändern, damit die tabelle auch nach was aussieht.

an und für sich sollte das per DOM nicht so schwer sein. ich habe für das entsprechende tabellenfeld, das das rowspan-attribut enthält, erst einmal rowspan=1 angegeben und ihm außerdem eine eindeutige id gegeben.

bei scriptaufruf möchte ich nun dieses rowspan-attribut ändern, so daß die tabelle mit den nunmehr sichtbaren feldern (wenigstens das funzt) wieder schön aussieht.

probiert habe ich das über

Code:

document.getElementById("eindeutige_ID_des_td").rowspan=5;
funktionieren tut das allerdings nicht. kann mir jemand sagen, warum? an und für sich sollte ich doch auf diese weise jedes attribut jedes elements ansprechen können, oder (das ist doch der sinn des DOM)?

zAPPEL 08.10.2008 14:26

Probier es mal mit:
Code:

myTD =document.getElementById("eindeutige_ID_des_td");
myTD.setAttribute("rowspan","1");

Falls das nicht geht versucht mal rowSpan mit großem S (auch mit deinem Code-Beispiel)

Vielleicht gehts ja so :)

lg Matthias

[edit] wenn ich mich nicht ganz irre müsste in deinem Beispiel rowSpan gehören und in meinem rowspan.

RaistlinMajere 08.10.2008 14:34

ok, es funktioniert doch (hab mir das attribut nach der änderung per alert ausgeben lassen). das problem liegt woanders. ;)

RaistlinMajere 08.10.2008 16:03

Zitat:

Zitat von zAPPEL (Beitrag 2315557)
Probier es mal mit:
Code:

myTD =document.getElementById("eindeutige_ID_des_td");
myTD.setAttribute("rowspan","1");

Falls das nicht geht versucht mal rowSpan mit großem S (auch mit deinem Code-Beispiel)

Vielleicht gehts ja so :)

lg Matthias

[edit] wenn ich mich nicht ganz irre müsste in deinem Beispiel rowSpan gehören und in meinem rowspan.

danke für den wichtigen hinweis. du hast absolut recht, das attribut heißt tatsächlich rowSpan. es wird zwar auch rowspan angenommen, allerdings kommt es dabei zu einer nicht ganz einwandfreien darstellung, wenn man es so setzt, wie ich das getan habe (interessanterweise schon, wenn man das über setAttribute tut, ka warum).

zAPPEL 08.10.2008 16:11

Das attribute, dass man mit myTd.setAttribute setzt heißt rowspan, während die property die man mit myTd.rowSpan setzt eben rowSpan heißt. Ist etwas verwirrend..

Hier habe ich noch etwas zum Unterschied attributes/properties gefunden:
http://xulsolutions.blogspot.com/200...essential.html


lg

RaistlinMajere 08.10.2008 16:46

danke für den aufschlußreichen link! :-)


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag