所以这实际上是一个非常棘手的概念,所以这是我的尝试。
我正在使用 LANDesk Service Desk 中的 HTML 表单模板 - 工具无关紧要,但重要的是要注意,我无法触及生成 HTML 的后端代码。
所以基本上,该工具是从包含对象列表的后端数据库中提取数据。然后,它将这些数据输入到我创建的 HTML 表单模板中,该模板使用变量作为对象的占位符。然后动态构建 HTML,无论数据库中有多少对象。因此,我无法访问head
- (这意味着本机 JS 和内联 CSS)。
我的模板看起来像这样......
<div class="my-template">
<a class="my-template my-link">My Link</a>
</div>
<script>
var myLinks = document.getElementsByClassName('my-link');
for (var i = 0 ; i < myLinks.length ; i++) {
myLinks[i].style.display = "none";
}
</script>
当我在加载的页面上查看源代码时,它看起来像这样......
<body>
<!--misc. page stuff-->
<!--First Item-->
<div class="auto-create">
<div class="my-template">
<a class="my-template my-link">My-Link</a>
</div>
</div>
<!--Second Item-->
<div class="auto-create">
<div class="my-template">
<a class="my-template my-link">My-Link</a>
</div>
</div>
</body>
所有元素都按照我希望它们的格式设置...除了每页上的最后一个元素。我已经确定这是因为每次工具通过模板运行对象时,它都在运行脚本。问题是,他们将一个愚蠢的默认按钮放置在每个损坏的对象的底部。(这就是为什么我让脚本更改要显示的样式:无..应该在前面提到这一点)。基本上我想延迟脚本的执行,直到不仅对象已经通过模板运行......而且整个页面已经加载......但我似乎无法让最后一个按钮消失。
我知道这是很多写得很糟糕的文字试图形成解释,但我真的认为这是不可能的……但我相信必须有办法。(此外,该公司没有为我们提供任何帮助来寻找解决方法,所以我不得不基本上是 MacGyver 这个