• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

TD display none/block klappt nicht

Status
Für weitere Antworten geschlossen.

Aydo

Neues Mitglied
Hallo erstmal,

hab da ein kleines Problem bei meiner Dropdown Tabelle:

HTML:
<html>
<head>
<title></title>
<script language="JavaScript" type="text/javascript">
<!--
    function dropdownup(element)
    {
    if(document.getElementById(element).style.display = 'none')
    {
    document.getElementById(element).style.display = 'block';
    }
    else if(document.getElementById(element).style.display = 'block')
    {
    document.getElementById(element).style.display = 'none';
    }
}
//-->
</script>
</head>
<body>
    <table style="border: solid 1px black;">
        <tr style="background-color: red;">
            <td style="cursor: pointer;" onClick="dropdownup('dropper');">Klick Hier!</td>
        </tr>
        <tr>
            <td style="display: none;" id="dropper">Hallo</td>
        </tr>
    </table>

</body>
</html>

TD 'dropper' wird zwar nach dem Klick angezeigt, aber nach dem zweiten Klick ist es immernoch sichtbar.

Weiß jemand was ich falsch gemacht habe?

Danke!:razz::razz:
 
Das ist eine Zuweisung, kein Vergleich.
Code:
if(document.getElementById(element).style.display = 'none')
Ein Vergleich könnte so aussehen:
Code:
if(document.getElementById(element).style.display [COLOR="DarkRed"][B]==[/B][/COLOR] 'none')

Zum css:
Mit display: none; einzelner Zellen machst du dir die Tabellenstruktur kaputt.
Tabellenzellen sollten nicht auf display: block; gesetzt werden (sie brauchen table-cell).
Table-cell kannst du für den IE<8 aber nicht durch css wiederherstellen.
 
Zuletzt bearbeitet:
Danke! Klappt jetzt.

Hab da noch eine Frage:
Wie kann ich das Markieren von Texten austellen?
Also dort wo man drücken muss eben, ist blöd wenn beim Klick der Text markiert wird.

Danke
 
Wie kann ich das Markieren von Texten austellen?
Also dort wo man drücken muss eben, ist blöd wenn beim Klick der Text markiert wird.

Danke
Der Text wird nur markiert wenn der cursor über dem Text bewegt wird.

Ich würde das a-Element benutzen:
Code:
<dl style="background-color: red; border: solid 1px black; list-style: none;">
<dt>
 Lesen Sie mehr zu [COLOR="DarkRed"][B]<a href="" onclick="dropdownup('dropper');return false;">Ausdruck</a>[/B][/COLOR]
</dt>
<dd style="display: none;" id="dropper">Definition</dd>
</dl>
Es gebe kein versehentliches Markieren und das Element wäre auch für Tastaturbenutzer erreichbar.

Einer Tabelle mit nur einer td pro tr kann ich keinen Sinn entnehmen.
was soll das denn werden?
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
Zurück
Oben