Estoy tratando de obtener una suma de números dentro de la etiqueta td
y las etiquetas tienen id=total[]
que viene como una matriz. Ejemplo :
<td id="total[1]">200<td> <td id="total[2]">400<td> <td id="total[3]">500<td> ...etc
¿Cómo obtengo la suma de todos ellos usando la identificación?
Si no hay una razón particular para usar id, es mejor usar class.
por ejemplo:
<td class="foo">200<td> <td class="foo">400<td> <td class="foo">500<td> ...etc
Luego puede agregar los valores recorriendo los elementos:
var items = document.getElementsByClassName("foo"); var sum = 0; for (var i = 0; i < items.length; i++) { sum += parseFloat(items.item(i).innerHTML); }
Ejemplo de Jquery para tu HTML
$(document).ready(function(){ var Sum = 0; $("[id*=total]").each(function(){ Sum += parseFloat($(this).text()); }); $("#ttl").text(Sum); });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <table> <td id="total[1]">200<td> <td id="total[2]">400<td> <td id="total[3]">500<td> </table> Total: <span id="ttl"></span>