特定のクラスの入力フィールドがいくつかあります。それらはすべてdata-somedata
、整数値などのデータ属性を持っています。これらのデータ属性の合計を計算する必要があります。getAttribute
と組み合わせて使用しようとしましgetElementsByClassName
たが、うまくいきません。
私はこのコードを使用しています:
<input class="datainput" value="The 1st input" type="text" data-somedata="8"/>
<input class="datainput" value="The 2nd input" type="text" data-somedata="15"/>
<div id="result"></div>
var fields = document.getElementsByClassName('datainput');
var result = 0;
for (var i in fields) {
result += fields[i].getAttribute('data-somedata');
}
document.getElementById('result').innerHTML = 'The sum is: ' + result;
(firefox) コンソールでは、次のようになります。
TypeError:
fields[i].getAttribute
関数ではありません
どうしてこれなの?どうすれば修正できますか?
絶対に必要でない限り、jQuery を使用したくありません (そうではないと思います) 。