0

getElementsByClassName用来收集tr.

我现在想遍历集合并获取tr.

我不能JQuery用来做这个或任何其他框架。

如何才能做到这一点?

var dom = document.getElementsByClassName('Row');
var arr = [];
var len = dom.length;
for (var i = 0; i < len; i++) {
   // foo = look up value of a text box in this row 
   // bar = look up value of a text box in this row 
   var obj = {
   quantity: foo,
   price: bar
   };
 arr.push(obj);
}
4

1 回答 1

2

首先,它是getElementsByClassName,带有一个 's'——它可以得到多个元素,所以它的名字是复数。

其次,getElementsByClassName它本身不是一个函数,它是一个 DOM 对象的方法。

如果要获取文档中与给定类名匹配的所有元素,则必须调用document.getElementsByClassName(),而不仅仅是单独调用getElementsByClassName()

所以你需要这样做:

var dom = document.getElementsByClassName('Row');

您从中获取的对象中的元素dom也具有与根对象相同的可用方法document,您可以调用dom[i].getElementsByClassName()等。

例如,为了获取其中的所有textarea元素,您可以执行dom[i].getElementsBtTagName('textarea').

那应该可以帮助您前进。

于 2013-08-24T06:24:01.920 回答