Bug no firefox para sumir tr

Por - novembro 11, 2009

Pessoal vou postar uma dica de DHTML, que utilizei para resolver um problema de compatibilidade entre browser. O problema era o seguinte, quando mandava ocultar uma linha em uma determinada tabela com display:none o mesmo não voltava corretamente com o display:block. No IE funciona sem problemas, já no firefox não, a solução foi a seguinte:

- trocar o display:block por ' ' (vazio) , vamos ao exemplo:


<script language="javascript" type="text/javascript">
function someAparece(valor){
if(valor == 2){
document.getElementById('tr1').style.display = 'table-row';
} else {
document.getElementById('tr1').style.display = 'none';
}
}
</script>
<table border="1">
<tr>
<td> </td>
<td><select onChange="someAparece(this.value);">
<option value="1">Opcao 1 </option>
<option value="2">Opcao 2 </option>
<option value="3">Opcao 3 </option>
</select></td>
</tr>
<tr id="tr1" style="display:none;">
<td>1 - Maria</td>
<td>Joaquina</td>
</tr>
<tr id="tr2">
<td>2 - Adalbeto</td>
<td>Junqueira</td>
</tr>
</table></td>
</tr>
</table>


Uma outra solução, todavia, não funciona no IE7 é a seguinte:
- Trocar o display de '' (vazio) para table-row.

Dessa forma a tr (linha) some e aparece normalmente.

VOCÊ PODE GOSTAR

0 comments