Bug no firefox para sumir tr
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.
0 comments