ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
258
258
EMPFEHLEN
-
Hallo!
Ich habe folgendes Problem:
Per Javascript lasse ich Tabellenzeilen einer bestimmten CSS Klasse ein- und ausblenden. Dies funktioniert auch in Firefox & Co.
Aber beim IE habe ich das Problem, dass ein DIV, das sich in einer Tabellenzelle befindet, nach dem einblenden nicht wieder ausblendet. Die Tabellenzeile ist zwar weg, aber der Inhalt des DIVs überlagert nun die Tabelle.
Beispiel:
Beim setzen von tr.folder per JS auf den Wert "none" wird diese ausgeblendet,HTML-Code:<table> <tr class="folder"> <td>Text in Spalte 1</td> <td> <div>Irgendwas...</div> <div>Noch etwas...</div> </td> </tr> </table>
die DIVs bleiben jedoch sichtbar und der Text "Irgendwas..." und "Noch etwas..." überlager nun die Tabelle.
Woran liegt dies?
Wie kann ich dies lösen?
MfG Zeebo
-
Ich weiß es auch nicht. Bei mir funktioniert das.
Versuch es mal so: Ändere per Javascript nicht die Inline-Styles direkt sondern mach das über die Vergabe und das Löschen von entsprechenden Klassenattributen im HTML. Das ist die "elegantere" Methode.
Beispiel:
Das Klassenattribut der entsprechenden Tabellenzeile erhält per JS/jQuery den Wert "hidden" und in den CSS-Deklarationen des Dokuments ist dieser Klassenselektor enthalten, so dass die Zeile ausgeblendet wird. Die Sichtbarkeit der Tabellenzeile kannst du dann mit der jQuery-Methode removeClass() wieder herstellen.HTML-Code:<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>HTML5: Mini-Template</title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> <script type="text/javascript"> if(typeof(jQuery)!="undefined") { $(document).ready(function() { $("body > p:first-child").text("Das DOM ist geladen und kann mit jQuery manipuliert werden."); $("tr.folder").addClass("hidden"); }); }; </script> <style type="text/css"> .hidden { display: none; } </style> </head> <body> <p>jQuery ist nicht aktiv.</p> <table> <tr> <td>Text in Zeile 1</td> <td> <div>Irgendwas...</div> <div>Noch etwas...</div> </td> </tr> <tr class="folder"> <td>Text in Zeile 2</td> <td> <div>Irgendwas...</div> <div>Noch etwas...</div> </td> </tr> </table> </body> </html>
Falls du kein jQuery verwenden möchtest, dann nimm die Funktion jscss.js von Christian Heilmann.
Ähnliche Themen
-
Probleme im IE beim Ein-und Ausblenden von Tabellenspalten
Von Necro_nomicon im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 08.07.09, 13:43 -
(c++)Probleme beim Verwenden einer Bibliothek in einer Windows Forms Anwendung
Von SchindlerD im Forum C/C++Antworten: 6Letzter Beitrag: 31.05.07, 12:07 -
2 Probleme beim DataGrid. beim Löschen und Hinzufügen einer Zeile
Von WaZZkeSS im Forum .NET DatenverwaltungAntworten: 2Letzter Beitrag: 18.06.06, 00:26 -
Highlight einer Tabellenzeile
Von Roman Locher im Forum Flash PlattformAntworten: 3Letzter Beitrag: 23.08.05, 18:53 -
Probleme beim Ein- und Ausblenden von Layern nach einer bestimmten Zeit (setTimeout)
Von ayin im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 15.06.05, 10:55





Zitieren


Login





