document.getElementsByTagName работает в VBScript? - PullRequest
4 голосов
/ 01 октября 2009

Ну, это работает, просто не производит ничего стоящего:

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

Ну, это не сработает, по-видимому, elems - это объект, а не массив, как в этом необычном javascript . Я застрял с VBScript, хотя.

Так что же мне сделать, чтобы перебрать все строки таблицы в vbscript?

Редактировать: Да, это VBScript, и это отстой. У меня нет выбора здесь, поэтому не говорите «Используйте jQuery !!».

Ответы [ 3 ]

7 голосов
/ 01 октября 2009

Как вы правильно сказали, getElementsByTagName не возвращает массив, поэтому UBound() не будет работать с ним. Рассматривайте это как коллекцию.

Для каждого через него должно работать:

 Set NodeList = document.getElementById("itemsTable").getElementsByTagName("TR") 
 For Each Elem In NodeList
  ' stuff 
  MsgBox Elem.innerHTML
 Next
1 голос
/ 09 марта 2012

Если у вас IE8 +, вы можете использовать метод "item" . Так было бы:

Dim elem: Set elem = document.getElementById("itemsTable").getElementsByTagName("TR").item(1);
0 голосов
/ 01 октября 2009

elems также не является массивом в JavaScript, это NodeList , случается, что некоторые свойства совместно используются с объектом Array JavaScript.

Я не знаю VB, но я полагаю, вы могли бы сделать:

for j = 0 to elems.length - 1      
   ' stuff 
next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...