不幸的是,我得到了一组带有整数值的div(总是),只能使用类(无法添加id,因为它们是由我无法处理的其他应用程序在循环中生成的)
<div class="aaposition">3</div>
<div class="aaposition">4</div>
<div class="aaposition">5</div>
<div class="bbposition">30</div>
<div class="bbposition">30</div>
<div class="bbposition">30</div>
所以我正在创建两个节点列表(两个列表都有精确的长度,这很好)。
aalist = document.getElementByClassName('aaposition');
bblist = document.getElementByClassName('bbposition');
我需要做的是将 aaitem[i] 与 bbitem[i] 相乘的结果相加,并将其显示在某处
sumlist = 0;
for (i = 0; i < aalist.length; i++) {
sumlist += aalist[i] * bblist[i];
}
showdiv.innerHTML = sumlist;
但是我不知道如何从节点列表中选择这些值,如何选择我感兴趣的值?
是 .innerHTML
、.value
还是什么?
我发现的只是样式示例(.style.background
...等)。
我还需要解析成整数吗?我需要将 NodeList 转换为数组吗?
最佳答案
您需要使用 document.getElementsByClassName
并修复 .length
的拼写错误,您还需要调用节点 .innerHTML
.. .
var result = document.getElementById('result'),
aalist = document.getElementsByClassName('aaposition'),
bblist = document.getElementsByClassName('bbposition'),
sumlist = 0;
for(var i=0; i<aalist.length; i++) {
sumlist += aalist[i].innerHTML * bblist[i].innerHTML;
}
result.innerHTML = sumlist;
关于javascript - 节点列表操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27777984/