# DIV: display: block und none



## mschlegel (17. Februar 2008)

Hi.

Ich habe so ein kleines Problem mit einer Tabelle (diese wird dynamisch mit einer JSP aufgebaut).
Die Tabelle erhällt nur dann eine extra Zeile (über alle Spalten) wenn für den aktuellen Eintrag eine Beschreibung vorhanden ist.
	
	
	



```
<tr onclick="show_hide_Layer('entry_<%= i %>')">
<td class="a_download_table_entry"><a href="<%= link %>"><%= title %></a><%= description != null ? "&nbsp;(Beschreibung)" : "" %></td>
<td class="a_download_table_entry" style="text-align: center;"><%= version != null ? version : "" %></td>
<td class="a_download_table_entry" style="text-align: right;"><%= size %></td>
<td class="a_download_table_entry" style="text-align: right;"><%= date %></td>
</tr>
<%
// Beschreibung nur hinzufügen, wenn vorhanden
if(description != null){
%>
	<tr id="entry_<%= i %>" style="display:none;">
	<td colspan="4" class="a_download_table_description"><%= description %></td>
</tr>
<% } %>
```

Es funktioniert auch, und sieht anfangs auch korrekt aus. *Wenn ich nun aber diese Zeile öfters ein uns ausblende, so wird der Abstand zu der nachfolgenden Zeile immer größer.*

Meine Javascript-Funktion sieht so aus

```
function show_hide_Layer(layerName) {
	var element = document.getElementById(layerName);
	if(element.style.display=="none")
		element.style.display="block";
	else
		element.style.display="none";
}
```

Kann mir jemand sagen wo hier mein Fehler liegt/liegen könnte?
Danke


----------



## Sven Mintel (17. Februar 2008)

Der Fehler liegt hier:
	
	
	



```
element.style.display="block";
```

<tr> ist von Hause aus kein Blockelement.

Weise stattdessen der display-Eigenschaft  eine leere Zeichenkette zu, wenn du sie anzeigen willst.


----------

