Tabellenzeile farblich markieren
Jörn
- javascript
Hallo Leute!
Ich arbeite mit einem KartenServer, der mir ein Kartenbild mit Standpunkten generiert. Zudem hab ich auf meiner Seite einen <iframe> integriert. In diesem werden die Daten der jeweiligen Standpunkte in einer Tabelle dargestellt.
Wenn man mit der Maus über einen Standpunkt fährt, soll die betreffende Zeile farblich markiert werden, damit eine Verbindung zwischen Punkt auf der Karte und der jeweiligen Zeile in der Tabelle herrscht.
Leider klappt das nicht im Firefox, hingegen im Internet Explorer schon.
Folgendes soll eine Zeile in der Tabelle des <iframe> farblich markieren:
tabelleInfo.document.getElementById(idTR).style.backgroundColor = "#C6ECFF";
tabelleInfo ist die "id" des <iframe>, idTR die "id" der jeweiligen Zeile.
Vielleicht kann mir ja jemand helfen. Dank im voraus.
Gruß Jörn
Hi,
tabelleInfo.document.getElementById(idTR).style.backgroundColor = "#C6ECFF";
tabelleInfo ist die "id" des <iframe>,
und an welcher Stelle hast Du das gleichnamige Objekt erzeugt, auf das Du oben zugreifst?
Cheatah
Hi!
Im <iframe> wird eine phtml Seite gestartet, die mir aus dem MSSQL-Server Daten ausliest und in einer Tabelle wieder zusammenbaut. Hier bekommt jede <tr> eine eigene ID.
Gruß Jörn
hi,
Im <iframe> wird eine phtml Seite gestartet, die mir aus dem MSSQL-Server Daten ausliest und in einer Tabelle wieder zusammenbaut. Hier bekommt jede <tr> eine eigene ID.
(Mäßig) interessante Zusatzinfo - aber warum beantwortest du Cheatahs Frage nicht?
Er fragte dich explizit, wo du dir die Referenz auf das Element besorgst, von dem du bisher nach eigener Aussage lediglich die ID vorliegen hast.
gruß,
wahsaga
Hi!
Ich hoffe, ich kann Euch damit weiter helfen.
Zu meiner Hauptseite gibt es noch ein paar JavaScript Dateien. Diese Dateien sind in der Hauptseite eingebunden. Wenn ich über einen Punkt auf der Karte bin, wird ein onmouseover-Event angestoßen. Hier wird in einer js.Datei eine Funktion aufgerufen, die die id des Standpunktes mitbekommt. Über die Funktion soll dann die Zeile markiert werden.
Gruß Jörn
Hi,
Ich hoffe, ich kann Euch damit weiter helfen.
nein, auch das beantwortet die Frage leider nicht. Du benutzt ein Objekt namens "tabelleInfo". Also musst Du irgendwo im JavaScript-Code diesen Namen in irgend einer Form erzeugt und diesem das Objekt zugewiesen haben. Wo und wie ist das passiert?
Cheatah
Hi Cheatah!
Den Namen "tabellenInfo", auch die id des <iframe>, hab ich natürlich in die Definition des <iframe> geschrieben.
<iframe id="tabellenInfo" ...</iframe>.
Gruß Jörn
hi,
Den Namen "tabellenInfo", auch die id des <iframe>, hab ich natürlich in die Definition des <iframe> geschrieben.
<iframe id="tabellenInfo" ...</iframe>.
Schön, aber deshalb hast du in Javascript noch lange kein Objekt namens tabellenInfo.
gruß,
wahsaga
Hi wahsaga!
Natürlich hab ich in JavaScript kein Objekt namens tabellenInfo. Aber im IE hat es nun mal auch so geklappt.
Gruß Jörn
Natürlich hab ich in JavaScript kein Objekt namens tabellenInfo. Aber im IE hat es nun mal auch so geklappt.
ein Grundsatz: Traue nie einem Internet Explorer!
Der IE hat die tolle Eigenschaft, dass er versucht fast jede Nachlässigkeit des Programmieres auszubügeln. Du kannst also zeilenweise Mist programmieren und merkst es nicht, da der IE fast alles frißt. es bleibt aber trotzdem falsch.
Struppi.
hi,
Natürlich hab ich in JavaScript kein Objekt namens tabellenInfo. Aber im IE hat es nun mal auch so geklappt.
ein Grundsatz: Traue nie einem Internet Explorer!
Der IE hat die tolle Eigenschaft, dass er versucht fast jede Nachlässigkeit des Programmieres auszubügeln.
Der IE sieht es m.E. sogar eher als "Service" an, dass er zu einem HTML-Element mit einer ID automatisch ein gleichnamiges Javascript-Objekt zur Verfügung stellt.
Ich könnte jedes mal kotzen, wenn es mir wieder einmal passiert, dass ich (aus Gründen der Konsistenz) ein eigenes Javascript-Objekt gleich benenne wie die ID des HTML-Elementes, mit welchem ich etwas machen will - und der IE dann plötzlich mit "dieses Objekt unterstützt die Methode nicht" oder ähnlichem Unfug kommt.
gruß,
wahsaga
Hi,
Natürlich hab ich in JavaScript kein Objekt namens tabellenInfo.
dann gibt es keinen Grund anzunehmen, Dein Code könne funktionieren.
Aber im IE hat es nun mal auch so geklappt.
Ja, dieser erhebliche Mangel ist hinlänglich bekannt. Aber welche Bedeutung misst Du dem bei? Andere Browser sind nun mal nicht so kaputt wie der IE.
Cheatah
Hi,
tabelleInfo.document.getElementById(idTR).style.backgroundColor = "#C6ECFF";
tabelleInfo ist die "id" des <iframe>, idTR die "id" der jeweiligen Zeile.
frames["tabelleInfo"].document.getElementById(idTR).style.backgroundColor = "#C6ECFF";
Ggf. statt ID aber NAME verwenden ...
Gruß, Cybaer
tabelleInfo.document.getElementById(idTR).style.backgroundColor = "#C6ECFF";
tabelleInfo ist die "id" des <iframe>, idTR die "id" der jeweiligen Zeile.
Ist tabelleInfo und idTR wirklich die id oder sind es Variabeln mit der id als String?
Struppi.
Hi Struppi!
Also "tabellenInfo" ist schon die wirklich, so in den Quelltext plazierte id. Bei "idTR" ist es eine Variable, dass es ja mehrere Zeilen in meiner Tabelle gibt.
Gruß Jörn
hi,
Also "tabellenInfo" ist schon die wirklich, so in den Quelltext plazierte id.
Ja, also ein String.
gruß,
wahsaga