table 折叠(隐藏行)不起作用 Javascript
table collapse (rows hide) not working Javascript
function tablecollapse()
{
var table = document.getElementById(tblbatting);
var rowCount = table.rows.length;
for(var i=4; i< rowCount; i++)
{
var row = table.rows[i];
row.display="none";
}
}
我有此代码 运行 onload()
但 table 的连接没有隐藏。
这段代码有什么问题?或任何其他建议?
代码中有两个错误。首先,您需要在 var table = document.getElementById(tblbatting);
中的 table 元素 id 两边加上引号。所以,这段代码变成了var table = document.getElementById("tblbatting");
.
其次,要设置显示样式,需要访问table行元素的样式属性。所以 row.display="none";
变成 row.style.display="none";
.
var table = document.getElementById("tblbatting");
var rowCount = table.rows.length;
for(var i=4; i< rowCount; i++)
{
var row = table.rows[i];
row.style.display="none";
}
我不确定你是否有意这样做,但你应该知道你的代码不会隐藏 table 的前 4 行,因为你已经使用 var i=4
初始化你的循环计数器。
韦恩说的。他比我快多了。
function tablecollapse(id) {
var table = document.getElementById(id);
var rows = table.rows;
for (var i = 4; i < rows.length; i++) {
rows[i].style.display = "none";
}
}
<link href="//cdnjs.cloudflare.com/ajax/libs/skeleton/2.0.4/skeleton.min.css" rel="stylesheet" />
<table id="foo">
<thead>
<td>Column</td>
<td>Column</td>
</thead>
<tr>
<td>one</td>
<td>one</td>
</tr>
<tr>
<td>two</td>
<td>two</td>
</tr>
<tr>
<td>three</td>
<td>three</td>
</tr>
<tr>
<td>four</td>
<td>four</td>
</tr>
<tr>
<td>five</td>
<td>five</td>
</tr>
</table>
<button onclick="tablecollapse('foo')">Collapse</button>
function tablecollapse()
{
var table = document.getElementById(tblbatting);
var rowCount = table.rows.length;
for(var i=4; i< rowCount; i++)
{
var row = table.rows[i];
row.display="none";
}
}
我有此代码 运行 onload()
但 table 的连接没有隐藏。
这段代码有什么问题?或任何其他建议?
代码中有两个错误。首先,您需要在 var table = document.getElementById(tblbatting);
中的 table 元素 id 两边加上引号。所以,这段代码变成了var table = document.getElementById("tblbatting");
.
其次,要设置显示样式,需要访问table行元素的样式属性。所以 row.display="none";
变成 row.style.display="none";
.
var table = document.getElementById("tblbatting");
var rowCount = table.rows.length;
for(var i=4; i< rowCount; i++)
{
var row = table.rows[i];
row.style.display="none";
}
我不确定你是否有意这样做,但你应该知道你的代码不会隐藏 table 的前 4 行,因为你已经使用 var i=4
初始化你的循环计数器。
韦恩说的。他比我快多了。
function tablecollapse(id) {
var table = document.getElementById(id);
var rows = table.rows;
for (var i = 4; i < rows.length; i++) {
rows[i].style.display = "none";
}
}
<link href="//cdnjs.cloudflare.com/ajax/libs/skeleton/2.0.4/skeleton.min.css" rel="stylesheet" />
<table id="foo">
<thead>
<td>Column</td>
<td>Column</td>
</thead>
<tr>
<td>one</td>
<td>one</td>
</tr>
<tr>
<td>two</td>
<td>two</td>
</tr>
<tr>
<td>three</td>
<td>three</td>
</tr>
<tr>
<td>four</td>
<td>four</td>
</tr>
<tr>
<td>five</td>
<td>five</td>
</tr>
</table>
<button onclick="tablecollapse('foo')">Collapse</button>