EKKi: colspan mit Javascript

Beitrag lesen

Mahlzeit Andreas,

Ich habe eine Tabelle als Navigationsleiste erstellt:

Das ist Dein erstes Problem - Tabellen sind zur Darstellung tabellarischer Daten da, nicht zum Layouten.

<table ID="Navigation" cellspacing="0" width="170">

Für das Layout ist http://de.selfhtml.org/css/layouts/einfuehrung.htm@title=CSS zuständig - sämtliche HTML-Attribute, die in irgendeiner Form das Aussehen von Elementen beeinflussen, solltest Du durch entsprechende Style-Angaben (sinnvollerweise an <http://de.selfhtml.org/css/formate/zentrale.htm@title=zentraler Stelle>) ersetzen.

<col width="128" style="padding-left:16;">
<col width="20" style="padding-left:16;">

s.o. - ggf. bietet sich auch eine <http://de.selfhtml.org/css/formate/einbinden.htm#separat@title=externe CSS-Datei> an.

<tr height="70"><td style="margin-left: 6pt; border-bottom: 3pt #ffffff solid" OnMouseOver="className='besucht'" onclick="iframe.location.href='aktuellPrivat.html'" OnMouseOut="className='bereich'" ID="MenueCtl">Aktuelles</td><td>&nbsp;</td><td>&nbsp;</td></tr>

Du solltest Dich bei HTML für Groß- oder Kleinschreibung entscheiden - aber kein "Mixed Case"-Gerümpel nutzen. Im Interesse der (ggf. später) leichteren Portierbarkeit auf XHTML würde ich Dir generell Kleinschreibung empfehlen.

Zu Deinen Eventhandlern: wenn jemand die Maus über Deine Tabellenzeile bewegt, weist Du einer <http://de.selfhtml.org/javascript/sprache/variablen.htm@title=globalen Variable> namens "className" den String 'besucht' zu ... willst Du das wirklich? Oder willst Du nicht vielleicht lieber mittels http://de.selfhtml.org/javascript/sprache/objekte.htm#this@title=this bezug auf das aktuelle Element (in Deinem Fall die Tabellenzeile) nehmen?

Und jetzt sollen Seiten aus einem IFrame heraus sobald sie geöffnet sind eine Zelle markieren:

{top.Frame1.document.getElementsByName('Bereiche')[i].className = 'offen'};

Existiert in dem angegebenen Dokument ein Element mit dem Namen "Bereiche"? In Deinem obigen Code ist das nicht zu erkennen.

{top.Frame1.document.getElementsByName('Bereiche')[i].setAttribute("colspan",2)};

Was hast Du gegen das Attribut http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#td@title=colSpan?

Kann aber style oder setAttribute schreiben. Egal, die Zellen werden bei einer markierten Zelle nicht verbunden.

Bist Du sicher, dass es eine Tabellenzelle mit dem Namen "Bereiche" (was im Übrigen invalides HTML wäre - <http://de.selfhtml.org/html/referenz/attribute.htm#td@title=ein <td> hat ein derartiges Attribut nicht>) gibt?

MfG,
EKKi

--
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|