Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript更改表中所有行的可见性_Javascript - Fatal编程技术网

使用JavaScript更改表中所有行的可见性

使用JavaScript更改表中所有行的可见性,javascript,Javascript,我有一个由中继器填充的表,其中许多行最初是隐藏的。我有一个锚,它触发一个Javascript函数来更改网格中的所有行。功能如下: function ExpandAll() { var elem = document.getElementById("repeaterTable"); var rows = elem.rows; for (var i = 1; i < rows.length; i++) {

我有一个由中继器填充的表,其中许多行最初是隐藏的。我有一个锚,它触发一个Javascript函数来更改网格中的所有行。功能如下:

   function ExpandAll() {
        var elem = document.getElementById("repeaterTable");

        var rows = elem.rows;

        for (var i = 1; i < rows.length; i++) {
               rows.item(i).style.visibility = 'visible';
               rows.item(i).style.display = '';
        }
    }
(因此我必须将显示设置为“”)

编辑:这是一个具有“父”行和“子”行的可折叠表。所有父行始终可见,并且可以基于图像单击展开或折叠子行(每个父行大约3-15行)。我还提供了一个锚,它一次扩展所有父行。请参见下图了解其布局方式:


此外,这是由ASP.NET repeater定义的,用于填充表,因此我无法将每个父行的子行“分组”在一起。本质上,表不知道子行和父行之间有什么区别

假设只有两种状态“全部可见”和“预选组可见”,那么就不要再旋转单独的行了

有这样的东西:

<table class="short" id="repeaterTable">
当您想要扩展时:

document.getElementById('repeaterTable').className = '';

我得试试这个。该表不仅有两种状态,它是一个可折叠的网格,因此用户可以基于“父”行展开行中的一些项,也可以单击定位点展开所有行。尽管如此,我还是可以用它来解决后者。如果您能找到一种区分父行和子行标记的方法,您将有一个更轻松的时间。通过嵌套中继器来实现多个
tbody
分组,或者简单地用不同的类名标记它们。。。
<tr class="longOnly">
table.short tr.longOnly { display: none; }
document.getElementById('repeaterTable').className = '';