1

javascript popUp に小さな関数があり、getElementByClassName 関数がそのクラスのすべての要素の配列を返すかどうか疑問に思っていますスペースまたはいくつかの数値)。その配列から値を取得するにはどうすればよいですか。

 var arr = document.getElementsByClassName('num');

function popUp(){
    for(var i = 0;i < arr.length;i++){
        alert(arr[i]);
    }
}

HTMLは次のとおりです。

<form id = "matrix">

<input type = "number" class = "num" />
<input type = "number" class = "num" />

<input type = "number" class = "num" />
<input type = "number" class = "num" />

<input type = "button" value = "count" id = "count" onclick = "popUp()"/>
</form>
</div>
4

3 に答える 3

2

.value を使用

お気に入り

alert(arr[i].value);

IE8 との互換性が必要な場合は、使用しないでください。

type = "number"

これは HTML5 であり、IE8 ではサポートされていません。
代わりに type="text" を使用してください。

于 2013-04-21T12:00:14.887 に答える
1

document.getElementsByClassName()DOM 要素のコレクションを返すためarr[i]、要素の内容ではなく、DOM 要素を取得します。タグのような DOM 要素のプロパティが必要な場合は、次のように必要なプロパティを参照する必要がvalueあります。input.value

var arr = document.getElementsByClassName('num');

function popUp(){
    for(var i = 0;i < arr.length;i++){
        alert(arr[i].value);
    }
}
于 2013-04-21T12:03:01.620 に答える
0

getElementsByClassName は、一致するすべての html 要素のリストを返します。alert(arr[i]) を呼び出すことで、値ではなく要素を表示するようにクライアントに指示します。これが、アラート メッセージが html 入力であることを伝える理由です。要素の値を表示するには、次を使用します

alert(arr[i].value);
于 2013-04-21T12:05:22.637 に答える