从 VBS 函数中将 class 添加到 HTML 应用程序中的元素

Add class to an element within an HTML Application from within VBS function

我有一个 HTA,当备份例程完成时会显示,我希望能够通过 VBS 操作 HTA,显示是否正确备份了一系列文件夹。

那么,使用 HTA 中元素的 ID,是否可以向元素添加 class?

例如-

If result = true Then {add class 'success' to id 'result-documents'}

这是我用于显示 HTA 的 VBS -

Shell.Run COMPLETED_MESSAGE_PATH, 0, True

我希望定位的元素示例如下所示。例如,在这里我想向 ID 为 'result-documents' -

的元素添加一个 class 属性(class 名称各不相同)
<span class="list-item"><span id="result-documents"></span>Documents</span>

如果相关元素还没有 class 属性,您需要先创建一个,然后才能为其赋值:

Set p = IE.Document.getElementById("result-documents")

Set attr = IE.Document.createAttribute("class")
attr.value = "success"
p.setAttributeNode(attr)

对于 运行 直接在 HTA 中的这段代码只需删除 IE 对象,因为 IE 在该上下文中已经是您的运行时环境:

Set p = document.getElementById("result-documents")

Set attr = document.createAttribute("class")
attr.value = "success"
p.setAttributeNode(attr)

如果您的元素 ID 中没有连字符(例如 resultsDocuments 而不是 results-documents),您甚至可以直接使用其 ID:

Set attr = document.createAttribute("class")
attr.value = "success"
resultDocuments.setAttributeNode(attr)