document.getElementsByTagName在vbscript中工作吗?

时间:2009-09-30 22:09:29

标签: html vbscript

嗯,它有效,它不会产生任何有价值的东西:

elems = document.getElementById("itemsTable").getElementsByTagName("TR") 
for j = 0 to ubound(elems) - 1      
   ' stuff 
next

嗯,这不起作用,显然elems是一个对象,而不是像你在花哨的javascript 中得到的数组。我虽然坚持使用vbscript。

那么我该怎么做才能迭代vbscript中表中的所有行?

编辑:是的,这是vbscript而且很糟糕。我这里没有选择,所以不要说“使用jQuery !!”。

3 个答案:

答案 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