Categories: javascript

Exibindo e escondendo dinamicamente TR em uma tabela

Custei mas achei, eu tinha uma tabela com algumas TR escondidas via style, porém ao tirar eslas do “display:none” via javascript ficava desalinhado (todo o conteúdo da TR em uma única TD)

Fuçando muito, descobri o problema, o motor de renderização Trident (IE) utiliza  a propriedade block para exibir de forma generica, já os motores webkit (chrome, safari, etc) e gecko (firefox) utilizam “table-row”,

A função salvadora da pátria abaixo:

<script>
function toggle(id){
	if (document.getElementById && document.createTextNode)
	{
		var tr=document.getElementById(id);
		if (tr) {
			if (tr.style.display == 'none') {
				try {
					tr.style.display='table-row';
				} catch(e) {
					tr.style.display = 'block';
				}
			}
			else {
				tr.style.display = 'none';
			}
		}
	}
}
</script>

Atualização 21/03/2012:
Pra usar em uma TD, basta substituir table-row por table-cell

Felipe Braz

Share
Published by
Felipe Braz

Recent Posts

Como Criar Rede Wi-Fi de Visitante em Roteadores Ax3000t com OpenWRT

Depois que comprei os roteadores ax3000t e finalmente consegui instalar o openwrt neles. Agora chegou…

3 meses ago

Como criar e validar credenciais seguras em Ansible sem dor de cabeça – Guia passo a passo

A criação e validação de credenciais seguras em ansible sempre gera um pouco de dor…

2 anos ago

Magento e o mistério do servidor somente-leitura

Dia desses, um dos meus servidores entrou com o sistema de arquivos / em modo…

5 anos ago

Localização de arquivos .desktop no ubuntu

O launcher do ubuntu não fornece muitas opções me relação aos icones, muitas vezes apps…

5 anos ago

Ordenar array por tamanho em php

Três meios diferentes para a mesma finalidade: Usando funções nativas do PHP (recomendado): array_multisort(array_map('strlen', $array),…

6 anos ago

Adicionar suporte a rc.local no ubuntu 16.04 ou superior

Embora um script muito útil para tarefas de inicialização de um servidor, essa funcionalidade se…

6 anos ago