首页 > 解决方案 > (Javascript)当类是动态的时,如何计算特定类的元素总和?

问题描述

我有一个功能,每次按下按钮时都会在表格中添加一个新行。表中每个元素的类取决于下拉菜单的选择,并确定如下:

var a = document.getElementById("dropDown");
let dependentClass = a.options[a.selectedIndex].id;

使用以下代码在单击按钮时添加新行:

let newRow =<tr><td class='thc "+dependentClass+"'>"+thc+"</td><td class='pm25 "+dependentClass+"'>"+pm25+"</td><td  class='pm10 "+dependentClass+"'>"+pm10+"</td></tr>";

$("#operations").append(newRow);

所以我添加了这个新行,用动态类创建元素。这个过程可能会重复多次,从而产生许多不同的元素。如何使用 javascript/JQuery 计算一个特定类的所有元素的总和?这是我正在尝试的:

let k = 0;  
parsed.data.forEach(arrayWithinData => {
    let dependentClass = parsed.data[k][0];
    if($("#operations td").hasClass("thc "+dependentClass)) {
        console.log("we have a "+dependentClass);
        console.log($("#operations td.thc."+dependentClass).text());
    }
    k++;
})  

dependentClass 是通过使用索引 parsed.data[k][0] 从已解析的 .csv 文件派生的 此代码在页面上查找具有所选类的每个元素,并记录文本。问题是,对于每个具有选定类的过程都会重复该过程,我只希望它迭代一次以获得总和。如果需要任何其他信息,请告诉我......我对此感到非常困惑。

标签: javascripthtmljquerydynamic

解决方案


您应该使用一些静态父元素来选择动态创建的元素。例如)

var count_of_td = $('body #tableID td.className').length;

推荐阅读