javascript - 节点列表操作

标签 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 转换为数组吗?

最佳答案

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

关于javascript - 节点列表操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27777984/

相关文章:

javascript - 如何检测 Flash 电影何时在 Javascript 代码中获得焦点?

javascript - 如何在不选择的情况下替换字符串中的文本

javascript - 节点列表中 for 的意外行为

javascript - 在 javascript/typescript 中将 Element 转换为 HTMLElement

javascript - 递归子节点

javascript - PHP 在 $.ajax 响应中回显清空字符串

javascript - 具有复杂嵌套数据结构和动态键的 AngularJS ng-repeat 指令

javascript - 使用 node.childNodes.forEach 移除子节点

javascript - 为什么我的表单输入值的更改没有出现在 Javascript 中?

javascript - 模拟点击js