I’m newbie and having a trouble on how can I count the number of value 1
and value 2
under the header 2 based on the image I attached. So the result of value 1
should be 2
and the value 2
should also 2
Is there any trick how can I solve this, Im new with this,I hope anyone can help.
This is what I tried my html
JavaScript
x
14
14
1
var tds = document.getElementById('table').getElementsByTagName('td');
2
var sum_paid= 0;
3
var x = 0;
4
5
for(var i = 0; i < tds.length; i ++) {
6
if(tds[i].className == 'count_value"' && tds[i].innerHTML =="Value 2" ) {
7
i++;
8
}
9
else if (tds[i].className == 'count_value"' && tds[i].innerHTML =="Value 1" ) {
10
i++;
11
}
12
}
13
console.log(x);
14
console.log(i);
JavaScript
1
31
31
1
<table id="table" name="table" id="table">
2
<thead>
3
<tr>
4
<th>Header 1</th>
5
<th>Header 2</th>
6
<th>Header 3</th>
7
</tr>
8
</thead>
9
<tbody>
10
<tr>
11
<td>Value 1</td>
12
<td class="count_value">Value 1</td>
13
<td>Value 1</td>
14
</tr>
15
<tr>
16
<td>Value 1</td>
17
<td class="count_value">Value 2</td>
18
<td>Value 1</td>
19
</tr>
20
<tr>
21
<td>Value 2</td>
22
<td class="count_value">Value 1</td>
23
<td>Value 1</td>
24
</tr>
25
<tr>
26
<td>Value 2</td>
27
<td class="count_value">Value 2</td>
28
<td>Value 1</td>
29
</tr>
30
</tbody>
31
</table>
Advertisement
Answer
Here’s an option – just grab all elements with the class you have set on the second-column elements ("count_value"
), and check if the text in those elements (elem.innerText
) contains a "1"
or "2"
.
JavaScript
1
11
11
1
let elementsToCount = document.querySelectorAll('.count_value');
2
3
let numOne = 0, numTwo = 0;
4
5
elementsToCount.forEach((elem) => {
6
if (elem.innerText.includes('1')) numOne++;
7
if (elem.innerText.includes('2')) numTwo++;
8
})
9
10
console.log("Number one:", numOne);
11
console.log("Number two:", numTwo);
JavaScript
1
31
31
1
<table id="table" name="table" id="table">
2
<thead>
3
<tr>
4
<th>Header 1</th>
5
<th>Header 2</th>
6
<th>Header 3</th>
7
</tr>
8
</thead>
9
<tbody>
10
<tr>
11
<td>Value 1</td>
12
<td class="count_value">Value 1</td>
13
<td>Value 1</td>
14
</tr>
15
<tr>
16
<td>Value 1</td>
17
<td class="count_value">Value 2</td>
18
<td>Value 1</td>
19
</tr>
20
<tr>
21
<td>Value 2</td>
22
<td class="count_value">Value 1</td>
23
<td>Value 1</td>
24
</tr>
25
<tr>
26
<td>Value 2</td>
27
<td class="count_value">Value 2</td>
28
<td>Value 1</td>
29
</tr>
30
</tbody>
31
</table>