NodeList操作

时间:2015-01-05 10:50:46

标签: javascript nodelist

我得到了带有整数值的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转换为数组吗?

1 个答案:

答案 0 :(得分:2)

您需要使用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;

Working jsfiddle