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 に答える