切换显示和隐藏只有一些表行

时间:2011-11-19 17:44:07

标签: javascript html dhtml

我试图仅显示/隐藏(通过切换机制)表格中的某些行。我有点接近,代码在下面。我在其他有关这方面的问题中读到的是使用样式ID,我尝试了但是它失败了。这就是为什么我使用'hide = yes'并将其传递给toggle函数。

这将是一个包含几百个条目的表格,当我点击切换时,任何一天都可以减少到少于30个。

有更好的方法吗?

<html>
   <head>
   <script>
        function toggle(thisname) {

           tr=document.getElementsByTagName('tr')

           for (i=0;i<tr.length;i++){
              if (tr[i].getAttribute(thisname)){
                 if ( tr[i].style.display=='none' ){
                    tr[i].style.display = '';
                 }
              else {
                 tr[i].style.display = 'none';
                 }
              }
           }
        }
   </script>
   </head>

<body>

<span onClick="toggle('hide');">TOGGLE</span><br /><br />

<table>
   <tr ><td >display this row 1</td></tr>
   <tr hide=yes ><td>hide this row 1</td></tr>
   <tr><td>display this row 2</td></tr>
   <tr hide=yes ><td>hide this row 2</td></tr>
   <tr hide=yes ><td>hide this row 3</td></tr>
   <tr><td>display this row 3</td></tr>
   <tr><td>display this row 4</td></tr>
   <tr><td>display this row 5</td></tr>
   <tr><td>display this row 6</td></tr>
   <tr hide=yes ><td>hide this row 4</td></tr>
   <tr hide=yes ><td>hide this row 5</td></tr>
   <tr><td>display this row 7</td></tr>
   <tr hide=yes ><td>hide this row 6</td></tr>
   <tr hide=yes ><td>hide this row 7</td></tr>
</table>


</body>
</html>

1 个答案:

答案 0 :(得分:2)

您的方法似乎没问题,我建议您声明变量tri

或者,您可以使用class代替

 <span onclick="toggle('yes');">

 if (tr[i].className == thisname){

 <tr class=yes>