-2
<!DOCTYPE html>
<html>
<head>

<script>
window.onload = function() {
    var data = document.querySelectorAll('span.data-01', 'span.data-02');
    for (var i=0;i<len;i++) {
        console.log(data[i].className + " " + data[i].childNodes[0].nodeValue) 
        //var one = parseInt(data[i].childNodes[0].nodeValue);
        //var two = parseInt(data[i].childNodes[0].nodeValue);  
    }  
    //total = one + two;
    //console.log(total); 
};
</script>

</head>
<body>
<div class="info">
<span class="data-01">9000</span>
<span class="data-02">6500</span>
</div>
</body>
</html> 

您如何将这些值中的每一个放入要在控制台日志中输出的变量中?

我希望能够添加由类 data-01 + data-02 (15500) 标记的值。由于某种原因,控制台中只显示了 data-01。

回答
querySelectorAll() 要求

这个

'span.data-01', 'span.data-02'

应该是这个

'span.data-01, span.data-02'
4

2 回答 2

3

只需遍历结果并获取文本节点的 nodeValue :

var data = document.querySelectorAll('span.data-01,span.data-02');
var sum=0;
for (var i=0;i<data.length;i++) {
    console.log(data[i].className + " " + data[i].childNodes[0].nodeValue);
    sum=sum + parseFloat(data[i].childNodes[0].nodeValue);
}

或者:

var data = document.querySelector('div.info').childNodes;
var sum = 0;
for (var i = 0; i < data.length; i++) {
    if (data[i].nodeType == 1) {
        console.log(data[i].className + " " + data[i].childNodes[0].nodeValue);
        sum = sum + parseFloat(data[i].childNodes[0].nodeValue);
    }
}
于 2013-09-21T23:00:20.883 回答
1

关于什么:

var data = document.querySelectorAll('span.data-01, span.data-02');
于 2013-09-21T23:18:11.743 回答