<!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>
How do you put each of these values into a variable to be outputted in the console log?
I want to be able to add values marked by class data-01 + data-02 (15500). For some reason only data-01 is shown in the console.
Answer
querySelectorAll () requires
this
'span.data-01', 'span.data-02'
should be this
'span.data-01, span.data-02'
<!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>
How do you put each of these values into a variable to be outputted in the console log?
I want to be able to add values marked by class data-01 + data-02 (15500). For some reason only data-01 is shown in the console.
Answer
querySelectorAll () requires
this
'span.data-01', 'span.data-02'
should be this
'span.data-01, span.data-02'
Just loop through the result and get the nodeValue of the text node:
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);
}
Or:
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);
}
}
What about:
var data = document.querySelectorAll('span.data-01, span.data-02');