2011-04-09 130 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; 
} 

现在,当行被禁用,所有价值的内容应该被隐藏关屏。