从 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)
我有一个 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)