2011-04-09 157 views
0

這是我目前在工作中遇到的問題的簡化版本。代碼在Firefox 3.6中運行。當單擊一行時,Javascript會更改其類名稱,並且子元素的屬性也應該更改。在IE6或其他版本中,它只適用於「title1」和「title2」TDs:它們會改變顏色。不工作的是「value1」和「value2」從display:none改變爲默認值。我嘗試過使用TD的style.display屬性,但無濟於事。IE6 Javascript類別名稱更改顯示

任何幫助將不勝感激。

<!doctype html> 
<html> 
    <head> 
     <style type="text/css"> 
      table#input{ 
       width: 100%; 
       border-collapse: collapse;    
      } 
      table#input tr{ 
       border-bottom: 1px solid #333; 
      } 
      table#input td{ 
       padding: 4px; 
      } 
      tr.disabled td.key{ 
       color: #ccc; 
      } 
      tr.disabled td.value{ 
       display: none; 
      } 
     </style> 
     <script type="text/javascript"> 
      function toggleVisibility(rowElem){ 
       rowElem.className = (rowElem.className == 'disabled') ? 'enabled' : 'disabled'; 
      } 
     </script> 
    </head> 
    <body> 
     <table id="input"> 
      <tr class="disabled" onclick="toggleVisibility(this);"><td class="key">title1</td><td class="value">value1</td></tr> 
      <tr class="disabled" onclick="toggleVisibility(this);"><td class="key">title2</td><td class="value">value2</td></tr> 
     </table> 
    </body> 
</html> 
+0

您是否嘗試過爲tr.enabled定義屬性? – tkm256 2011-04-09 18:31:05

+0

是的,我試着讓類「啓用」的TD的行顯示:表格單元格,但它沒有解決問題。 – 2011-04-10 19:27:32

回答

0

我想出了一個在FF和IE6-8中工作的備用解決方案。對於類=「值」每一個TD,我附帶span標籤內容,並提出以下更改樣式表:

tr.disabled td.value span{ 
    position: absolute; 
    top: -20px; 
} 

現在,當行被禁用,所有價值的內容應該被隱藏關屏。