【发布时间】:2016-11-29 18:03:24
【问题描述】:
我正在尝试通过 javascript 显示/隐藏 HTML 表格中的行。选中复选框将显示额外的行,取消选中它将隐藏它们。
<html><body><form><table>
<tr>
<td> This row is always visible. </td>
</tr>
<tr>
<td>
<input id="cbox" type="checkbox" onchange="for(e in document.getElementsByClassName('switchMe')) e.style.display = document.getElementById('cbox').checked ? 'block' : 'none';"/>
<label for="cbox">Show more …</label>
</td>
</tr>
<tr class="switchMe" style="display: none; ">
<td> This row will be shown after the user clicks the check box. </td>
</tr>
<tr class="switchMe" style="display: none; ">
<td> This row too. </td>
</tr>
<tr>
<td> This row is always visible. </td>
</tr>
</table></form></body></html>
但是,什么也没发生,我在控制台中收到 e.style is undefined 错误。如何正确访问<tr> 元素的样式属性?
(我首先尝试将有问题的行放在<div> 中。这不会产生任何错误,但行总是可见的,并且 Firebug 中不存在<div>,因此可能不允许在那里.)
【问题讨论】:
标签: javascript html-table row visibility