显示隐藏不在chrome和firefox中工作

时间:2014-09-11 13:09:27

标签: javascript html google-chrome

有人可以帮助我:

我尝试隐藏并显示包含两个单元格的行。内容在第二单元格中。 它在IE中运行良好,但在FF和Chrome中,似乎所有内容都适合第一个单元格的空间。这是我的代码:

<table border="0" cellpadding="0" cellspacing="0" width="700">
  <tr>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td width="50"></td>
    <td width="650">
      <input type="radio" id="r1" name="r1" value="" class="small" onClick="Hide('div_test', this);">
      <label for="r1">Skjul</label>&nbsp;&nbsp;
      <input type="radio" id="r2" name="r1" value="" class="small" onClick="Reveal('div_test', this);">
      <label for="r2">Vis</label>&nbsp;&nbsp;
    </td>
  </tr>
  <tr id="div_test" style="display:none;">
    <td width="50"></td>
    <td width="650">Dette er også en test</td>
  </tr>
</table>

脚本:

function Reveal (it, box) 
{ 
    var vis = (box.checked) ? "block" : "none"; 
    document.getElementById(it).style.display = vis;
}


function Hide (it, box) 
{ 
    var vis = (box.checked) ? "none" : "none"; 
    document.getElementById(it).style.display = vis;
}

我在这里做错了什么?

1 个答案:

答案 0 :(得分:7)

您需要将display设置为table-row不阻止,因为它是一个表格行!

http://jsfiddle.net/xsrdeuw4/

function Reveal (it, box) 
{ 
    var vis = (box.checked) ? "table-row" : "none"; 
    document.getElementById(it).style.display = vis;
}