gpt4 book ai didi

javascript - 需要将 .innerHTML 的结果转换为 javascript 上的数字

转载 作者:搜寻专家 更新时间:2023-11-01 05:01:35 25 4
gpt4 key购买 nike

我有一个包含表格的 html,如下例所示

<td class="topiccell">
<span class="topicnormal">
<a class="value" href="/topic/?lang=en&action=viewtopic&topic=http%3A%2F%2Fwww.wandora.org%2Fsparql%2Fresultset%2Fliteral%2F40">
40
</a>
</span>
</td>
<td class="topiccell">
<span class="topicnormal">
<a class="value" href="/topic/?lang=en&action=viewtopic&topic=http%3A%2F%2Fwww.wandora.org%2Fsparql%2Fresultset%2Fliteral%2F40">
3
</a>
</span>
</td>

我需要使用 .innerHTML 解析 40、3 和另外 75 个数字。然后我想对所有 75 个数字求和。我使用了以下内容

var valuelements = document.getElementsByClassName("value");
var features = new Array(valuelements.length);
for (var i=0; i<=features.length; i++){
var val = valuelements[i].innerHTML;
var counter = counter + val;
}
document.write(counter);

结果是 40 3 等...尝试了 parseIntparseFloat.value 但结果始终是 NaN。有什么建议吗?

最佳答案

您需要使用起始数字初始化计数器,否则您将对undefined 执行数学运算。

var counter = 0;

然后在循环中,使用 parseIntparseFloat,或者对 .innerHTML 值直接进行数字转换。

var counter = 0;

for (var i=0; i<features.length; i++){
counter += parseFloat(valuelements[i].innerHTML);
}

在现代浏览器中,您可以这样做:

var count = [].reduce.call(valueelements, function(c, v) {
return c + parseFloat(v.innerHTML);
}, 0);

关于javascript - 需要将 .innerHTML 的结果转换为 javascript 上的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14617221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com