html – 动态更新HTA(VBS)中的表行
发布时间:2020-12-14 23:27:41 所属栏目:资源 来源:网络整理
导读:经过研究我可以看到,要动态更新HTA中的表,我需要添加tbody元素.我还可以看到,然后我需要使用appendchild函数将必要的数据/行添加到表中. 我已经这样做了,并尝试使用下面的代码循环遍历数组ArrLogs Dim ii = 1Set table = document.getElementById("maintable
经过研究我可以看到,要动态更新HTA中的表,我需要添加tbody元素.我还可以看到,然后我需要使用appendchild函数将必要的数据/行添加到表中.
我已经这样做了,并尝试使用下面的代码循环遍历数组ArrLogs Dim i i = 1 Set table = document.getElementById("maintable") Set tbody = document.createElement("tbody") table.appendChild(tbody) Set trow = document.createElement("tr") Set tcol = document.createElement("td") ArrLogs = ReadLogs(computerasset.value) Do Until i = UBound(ArrLogs) tcol.innerHTML = ArrLogs(i) trow.appendChild(tcol) tbody.appendChild(trow) table.appendChild(tbody) i = i+1 Loop 我遇到的问题是我只看到我的数组的最后一个值附加到表中,几乎就像我错过了一个命令来保存追加并且它在运行时覆盖了行? 我很有意思,这不是很整洁,或循环数组的正确方法(应该用于i = 1到UBound(ArrLogs)等) – 我正在测试不同的做事方式,以防我正在制作一个明显的错误. 解决方法
trow.appendChild(tcol)不会将tcol复制到该行;它会插入一个引用,这意味着你只有一个你不断覆盖的tcol,例如.下面的代码显示B不是A.
Set p = document.createElement("p") p.innerHTML = "A" document.body.appendChild(p) p.innerHTML = "B" 要解决此问题,请在循环中创建新元素: Dim i: i = 0 Set tbody = document.createElement("tbody") ArrLogs = ReadLogs(computerasset.value) for i = lbound(ArrLogs) to ubound(ArrLogs) Set trow = document.createElement("tr") Set tcol = document.createElement("td") tcol.innerHTML = ArrLogs(i) trow.appendChild(tcol) tbody.appendChild(trow) Next document.getElementById("maintable").appendChild(tbody) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |