ugrás a tartalomhoz

Táblázat cella probléma.

C_hris · 2007. Már. 20. (K), 14.00
Sziasztok!

Adott a következő nem túl bonyolult kód, de valamiért Firefox alatt hibásan jelennek meg a cellák ha a Nyit linkre kattintok, valamint több kattintás után üres hely jelenik meg alatta. Exporerben normálisan megy, mi lehet a probléma?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>

            <table border="1" cellpadding="0" cellspacing="0" style="width:300px;">

              <tbody>
                <tr>
                  <td>1</td>
                  <td>2</td>
                  <td><a href="#" onclick="Nyit();return false;">Nyit</a></td>
                  <td>3</td>
                  <td>4</td>
                </tr>
                <tr style="display:none;">
                  <td colspan="2">123</td>
                  <td colspan="3" class="tdet" id="termcont">456</td>
                </tr>
				
			</tbody>
			</table>
						
<script type="text/javascript">

function Nyit()
{
containertd=document.getElementById('termcont');


  if(containertd.parentNode.style.display=='block')  containertd.parentNode.style.display='none';
  else containertd.parentNode.style.display='block'
    

}

</script>

</body>
</html>
 
1

táblázat != blokk

vbence · 2007. Már. 20. (K), 14.11
A táblázat sorának a szabvány szerint ( http://www.w3.org/TR/CSS21/tables.html#q2 ) table-row a display stílusa. Ha jól tudom az explórernek gondjai vannak ezzel. Itt egy alapos összehasolítás: http://www.quirksmode.org/css/display.html
2

igazad van

C_hris · 2007. Már. 20. (K), 14.22
köszi, ez volt a probléma csak az ie nem szereti a 'table-row'-t
ezért így kellett módosítani a kódot:

function Nyit()
{
containertd=document.getElementById('termcont');

  if(containertd.parentNode.style.display=='table-row' || containertd.parentNode.style.display=='block')  
  	containertd.parentNode.style.display='none';
  else 
  	{
		try{ containertd.parentNode.style.display='table-row'; }
		catch(ex) { containertd.parentNode.style.display='block'; }
	 }    
}
3

display reset

attlad · 2007. Már. 20. (K), 15.55
Az üres érték visszaállítja alapértelmezettre:

function Nyit()
{
  var containertd = document.getElementById('termcont');
  containertd.parentNode.style.display = containertd.parentNode.style.display == 'none' ? '' : 'none';
}