如果没有数据,我正在尝试使用 JavaScript 来隐藏表格。我正在使用 Powershell 从电子表格中获取数据;但是,如果电子表格中没有数据,则不需要该表。
简单来说,如果 id 为“hide if empty”的 td 不包含任何数据,那么 id 为“sampleDIV”的 div 或 id 为“Tabletest”的表是否会不可见?
这可能吗?
谢谢:)
<div id="SampleDIV">
<table id="TableTest">
<tbody>
<tr>
<td><b>Data:</b></td>
<td id="hide if empty"></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</div>
我是不是在做一些很愚蠢的事情?
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Untitled Document</title>
<script language ="javascript">
if (document.getElementById("hideifempty").innerHTML === "") {
document.getElementById("SampleDIV").style.display = "none";
}
</script>
</head>
<div id="SampleDIV">
<table id="TableTest">
<tbody>
<tr>
<td><b>Data:</b></td>
<td id="hideifempty"></td>
<td></td>
</tr>
<tr>
<td></td>
<td>If you can see this it didn't hide</td>
<td></td>
</tr>
</tbody>
</table>
</div>
<body>
</body>
</html>
最佳答案
if (document.getElementById("hideifempty").innerHTML === "") {
document.getElementById("SampleDIV").style.display = "none";
}
<div id="SampleDIV">
<table id="TableTest">
<tbody>
<tr>
<td><b>Data:</b></td>
<td id="hideifempty"></td>
<td></td>
</tr>
<tr>
<td></td>
<td>If you can see this it didn't hide</td>
<td></td>
</tr>
</tbody>
</table>
</div>
您可能想使用.innerHTML.trim() === ""
- 由您决定,取决于您是否将除了空格之外什么都没有的元素定义为“空”。
注意:元素 ID 不应包含空格(尽管这可能在某些浏览器中有效),因此我已将 id 更改为 "hideifempty"
.
编辑:请注意,上述 JS 需要位于 <script>
中<div>
之后的元素有问题,因此,例如,您可以遵循合理的标准做法,将脚本立即放在结束 </body>
之前标签。或者你可以将上面的 if
包装起来onload
中的声明或DOMContentLoaded
处理程序。否则,JS 将在浏览器解析 div 和 table 之前运行。
关于javascript - 如果文本框不包含数据则隐藏文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39008946/