2014-09-11 92 views
1

有人可以幫我:顯示隱藏<tr>不能在鉻和火狐工作

我試圖隱藏和顯示與兩個單元格的行。內容在單元格2中。 它在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; 
} 

我在做什麼錯在這裏?

+0

有U表的定義之前或之後加載腳本? – Ipad 2014-09-11 13:11:54

+0

顯然之後,因爲只有當他們的輸入標籤被加載時才能調用該函數。 @Ipad – Brendan 2014-09-11 13:19:38

+0

前面的腳本 – 2014-09-11 13:20:40

回答

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; 
} 
+0

Weeee - 幫助。謝謝!! – 2014-09-11 13:26:14

+1

@SanneFaurholt你應該考慮[接受答案](http://meta.stackexchange.com/a/5235/190623),如果你發現它解決了你的問題。 – 2015-07-31 15:52:35