不幸的是,我得到了一组整数值的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');我需要做的是把aaitemi和bbitemi相乘的结果相加,然后在某个地方显示出来。
sumlist = 0;
for (i = 0; i < aalist.length; i++) {
sumlist += aalist[i] * bblist[i];
}
showdiv.innerHTML = sumlist;但我不知道如何从节点列表中选择这些值,我如何选择我感兴趣的值?是.innerHTML,.value还是什么?我发现的只是一些时尚的例子(.style.background .等等)。
我还需要解析成整数吗?是否需要将NodeList转换为数组?
发布于 2015-01-05 10:59:15
您需要使用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;工作小提琴
https://stackoverflow.com/questions/27777984
复制相似问题