我正在使用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);
}
答案 0 :(得分:2)
首先,它是getElementsByClassName
,带有's' - 它可以获得多个元素,因此它的名称是复数。
其次,getElementsByClassName
不是它自己的函数,它是DOM对象的一个方法。
如果您想要获取文档中与给定类名相匹配的所有元素,则必须自行调用document.getElementsByClassName()
,而不仅仅是getElementsByClassName()
。
所以你需要这样做:
var dom = document.getElementsByClassName('Row');
您从此获取的dom
对象中的元素也具有与根document
对象相同的方法,您可以调用dom[i].getElementsByClassName()
等。
例如,为了获取其中的所有textarea
元素,您可以执行dom[i].getElementsBtTagName('textarea')
。
这应该有助于你前进。