嗯,它有效,它不会产生任何有价值的东西:
elems = document.getElementById("itemsTable").getElementsByTagName("TR")
for j = 0 to ubound(elems) - 1
' stuff
next
嗯,这不起作用,显然elems是一个对象,而不是像你在花哨的javascript 中得到的数组。我虽然坚持使用vbscript。
那么我该怎么做才能迭代vbscript中表中的所有行?
编辑:是的,这是vbscript而且很糟糕。我这里没有选择,所以不要说“使用jQuery !!”。
答案 0 :(得分:7)
正如您已正确声明getElementsByTagName
不返回数组,因此UBound()
将不会对其进行操作。把它当作一个集合。
For-Eaching through it应该有效:
Set NodeList = document.getElementById("itemsTable").getElementsByTagName("TR")
For Each Elem In NodeList
' stuff
MsgBox Elem.innerHTML
Next
答案 1 :(得分:1)
如果你有IE8 +,你可以使用"item" method。所以它是:
Dim elem: Set elem = document.getElementById("itemsTable").getElementsByTagName("TR").item(1);
答案 2 :(得分:0)
elems也不是JavaScript中的数组it is a NodeList,它恰好与JavaScript Array对象共享一些属性。
我不懂VB,但我认为你可以这样做:
for j = 0 to elems.length - 1
' stuff
next