javascript - Javascript:当其中一个单元格为空时隐藏表格行。WordPress 页面
问题描述
我有一个网页,您可以在其中填写表格以在新页面上生成工作许可,您可以在其中签名。表单页面:https ://www.sdxworkpermit.se/work-permit/ 最后有问题作为清单(只有一个 atm),如果你不回答它不会出现的问题,我希望该功能出现在下一个生成的页面。
我试图添加 javascript 来隐藏电子签名文档页面上的<tr>
是否为空。<td>
我已经预先填写了文件供您查看:
Javascript(添加到插件页面模板:index.php)
<script>
function isEmptyTable(myId){
let tds = document.getElementsByClassName(myId);
let hide = false
for (let element of tds) {
if (element.innerHTML.length == 0) hide = true
}
let myTable = document.getElementById(myId);
if (hide) myTable.style.display = 'none';
}
isEmptyTable("myTable")
</script>
HTML(添加到 word press 文档页面)
<table id="myTable">
<tbody>
<tr>
<td>1</td>
<td>[esigcf7 formid="409" field_id="menu-936" ]</td>
</tr>
<tr>
<td>2</td>
<td>[esigcf7 formid="409" field_id="checkbox-138" ]</td>
</tr>
</tbody>
</table>
解决方案
隐藏表格
document.querySelector('#myTable td:empty').closest('#myTable').style.display = "none";
隐藏行
document.querySelector('#myTable td:empty').parentElement.style.display = "none";
秘制酱汁
这可能会更好:
const observer = new MutationObserver( list => {
const evt = new CustomEvent('dom-changed', {detail: list});
document.body.dispatchEvent(evt)
});
observer.observe(document.body, {attributes: true, childList: true, subtree: true});
document.body.addEventListener('dom-changed', () => {
const cell = document.querySelector('#myTable td:empty');
if ( cell ) cell.parentElement.style.display = "none";
});
推荐阅读
- ssl - vertx HTTPS 服务器在升级到 3.8.4 后停止工作
- java - 意图不断返回 null
- javascript - 当您在输入字段中键入内容时,使文本出现在网站上?
- python - 如何调整 staticText 的大小以占用 wxPython 中隐藏的 staticText 项使用的空间?
- javascript - 模块内 DT 中的闪亮 selectInput
- vue.js - 修改@selection事件回调后,Quasar的QTable选择行不更新
- security - Webhook 侦听器/接收器安全性
- go - 使用 Go 通过 GCP 发布/订阅设置 Gmail 推送通知
- python - OpenCV 搜索 сontours
- c++ - C ++:如何从k = 2 ^ a * b中找到a和b?