(Javascript) Как рассчитать сумму <td>элементов определенного класса, если класс Dynami c? - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть функция, которая добавляет новую строку в таблицу при каждом нажатии кнопки. Класс каждого элемента в таблице зависит от выбора раскрывающегося меню и определяется следующим образом:

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);

Поэтому я добавляю эту новую строку, создавая элементы с классом Dynami c. Этот процесс повторяется, возможно, раз, создавая много разных элементов. Как я могу использовать 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++;
})  

зависимый класс получен из проанализированного CSV-файла с использованием индекса parsed.data [k] [0]. Этот код находит каждый элемент с выбранным классом в страница, и регистрирует текст. Проблема в том, что процесс повторяется для каждого, у кого есть выбранный класс, и я хочу, чтобы он повторялся один раз, чтобы получить сумму. Пожалуйста, дайте мне знать, если понадобится какая-либо дополнительная информация ... Мой разум довольно поражен этим.

1 Ответ

0 голосов
/ 29 апреля 2020

Вы должны выбрать динамически созданные элементы, используя некоторый родительский элемент stati c. Например)

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