Problema com div e span no Firefox 1.0

 Alguem ja teve problema com div´s ou span´s no Firefox?
 Criei uma função js que esconde uma table dentro de um div e só funciona no IE6.0, já no Firefox não esconde a tabela e não da erro de javascript. 

[code]
function mostraTabela(idDiv){

if (idDiv.style.display == "block"){

	idDiv.style.display = "none";

}else{

	idDiv.style.display = "block";

}

}[/code]

Oba esta função funciona para pegar a referência nos browsers comentados:

function getRefToDiv(divID) { if( document.layers ) { //Netscape layers return document.layers[divID]; } if( document.getElementById ) { //DOM; IE5, NS6, Mozilla, Opera return document.getElementById(divID); } if( document.all ) { //Proprietary DOM; IE4 return document.all[divID]; } if( document[divID] ) { //Netscape alternative return document[divID]; } return false; }

Exemplo de chamada:

[code]
function showDIV(divName)
{
getRefToDiv(divName).style.visibility = ‘visible’;
}

function hideDIV(divName)
{
getRefToDiv(divName).style.visibility = ‘hidden’;
}[/code]

falow

 Não funfa no onclick, da objeto esperado :(

No FireFox, os valores que está buscando para a propriedade display são

display = ‘none’; // objeto não e renderizado
display = ‘’; // renderização normal

deixei assim na pagina e ainda só funfa no IE :frowning:

<img src="file:///C|/WebWorkflow/imagens/agreen.gif" /></legend> <div id="span1" style="display:" >

[code]if (idDIV.style.display == “”)
{
idDIV.style.display = “none”;
}
else
{
idDIV.style.display = “”;
}

Cara, você não fechou o atributo style na tag do DIV corretamente.

Fiz esse exemplo pra outro cara aqui no fórum, mas serve para você entender direitinho. Acabei de testá-lo no FireFox e funcionou perfeitamente:

<html>
	<head>
		<title>Tests</title>
		
		<script language="javascript">
			var abas = new Array( 'aba1', 'aba2', 'aba3' );
			function openAba( idAba )
			{
				for( var i = 0; i < abas.length; i++ )
				{
					var el = document.getElementById( abas[ i ] );
					el.style.display = ( idAba == el.id ) ? '' : 'none';
				}
				
				var a = new Array();
			}
			
			function closeAll()
			{
			
			}
		</script>
	</head>

	<body>
		
		<input type="button" value="aba1" onclick="openAba( 'aba1' );">
		<input type="button" value="aba2" onclick="openAba( 'aba2' );">
		<input type="button" value="aba3" onclick="openAba( 'aba3' );">
		
		<div id="aba1" style="position: absolute; top: 20px; left: 0px;">
			<p>conteudo1. Pode ser um iframe ou qualquer outra porcaria</p>
		</div>
		
		<div id="aba2" style="display: none; position: absolute; top: 20px; left: 0px;">
			<p>conteudo2. Pode ser um iframe ou qualquer outra porcaria</p>
		</div>
		
		<div id="aba3" style="display: none; position: absolute; top: 20px; left: 0px;">
			<p>conteudo3. Pode ser um iframe ou qualquer outra porcaria</p>
		</div>
	</body>
</html>

E aliás, você pode omitir o valor style=“display: ‘’”. Não colocando nada faz com que rufam os tambores o elemento seja renderizado normalmente :smiley:

Perceba que as propriedades display e visibility fazem coisas diferentes.