1

所以这实际上是一个非常棘手的概念,所以这是我的尝试。

我正在使用 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 这个

4

0 回答 0