我正在为我做一些自动和输入计算器,但我有问题,因为我不知道如何选择具有不同名称的多个输入。我知道我可以使用'输入'而不是确切的名字,但我需要为5-6输入进行计算而不是全部,所以请帮我这样做..
代码现在看起来像这样:
<script type="text/javascript">
function findTotal(){
var arr = document.getElementsByName('test1');
var tot=0;
for(var i=0;i<arr.length;i++){
if(parseInt(arr[i].value))
tot += parseInt(arr[i].value);
}
document.getElementById('total').value = tot;
}
</script>
所以我想准确计算test1,test2,test3,test4,test5输入。
由于
答案 0 :(得分:6)
您可以将多个attribute selectors与querySelectorAll()
一起使用:
var arr = document.querySelectorAll('[name="test1"], [name="test2"], [name="test3"], [name="test4"], [name="test5"]');
但是,如果他们共享一个共同的class
名称,您可以select them by that:
<input name="test1" class="totaled">
<input name="test2" class="totaled">
<!-- etc. -->
var arr = document.querySelectorAll('.totaled');
或者,如果他们共享一个共同的父元素,您可以find them from it:
<div id="the-parent">
<input name="test1">
<input name="test2">
<!-- etc. -->
</div>
var arr = document.querySelectorAll('#the-parent input');
// or
var arr = document.getElementById('the-parent').getElementsByTagName('input');