javascript - 计算表列的属性值
问题描述
对于表中的每个 td,我都有一个 Data 属性,它可以有 4 个值(即“Dag”、“Avond”、“Nacht”和“Vrij”)我想计算列中的值,即存在的频率Dag'在一列中。该表具有可变数量的行和列。
我想为不同的值使用数组来计算每个值的总数。即 Dag[], Avond[], nacht[] 然后为每一列添加 1,如果该值存在于该表格单元格中。
var D = new Array();
var A = new Array();
var N = new Array();
$('#drawTable > tbody').each(function (i) { //for each row
$(this).each(function (x) { //for each cell in this row
var waarde = $(this).attr('data-total'); //get attibute value
switch (waarde){ //depending on its value
case 'Dag':
D[x] = D[x] + 1;
break;
case 'Avond':
A[x] = A[x] + 1;
break;
case 'Nacht':
N[x] = N[x] + 1;
break;
}
});
});
我的代码不会循环遍历所有行和单元格。i 保持在 4,x 保持在 0。我也觉得我应该用 0 启动我的数组
解决方案
回答我自己的问题:
var D = new Array;
var A = new Array;
var N = new Array;
$(function () {
//Get the number of td in a row
var l = $('#MyTable tr:first td').length;
//Fill the array x with zero's
for (i = 0; i <= l; i++) {
D[i] = 0;
A[i] = 0;
N[i] = 0;
}
$('#MyButton').on('click', function () {
$('#MyTable tr').each(function () {
$(this).find('td.tdclass').each(function (i) {
var waarde = $(this).attr('Data-test');
//alert(waarde + ' i= ' + i);
switch (waarde) {
case 'Dag':
D[i]++;
break;
case 'Avond':
A[i]++;
break;
case 'Nacht':
N[i]++;
break;
}
});
});
alert('Dagdiensten: '+D[0] + ' ' + D[1] + ' Avonddiensten: '+ A[0] + ' ' + A[1] + ' Nachtdiensten: ' + N[0] + ' '+ N[1]);
});
});
推荐阅读
- python - 如何使用 PyTorch 中的“Pythonic”YOLOv5
- android - 在 github 操作上使用 macos-latest 时卡在某个命令上
- python - Django - Giving "a bytes-like object is required, not 'dict'" error while trying to create manual jwt token function
- java - 不推荐使用的方法“startActivityForResult()”与正确设置蓝牙
- amazon-web-services - Appsync 和极光无服务器数据库(在私有子网中)查询生成错误
- javascript - 你能解决 if 语句中的承诺吗?
- python - 如何有效地将多个字典的共享键子集作为多个数组?
- java - 尝试在我的应用程序(WhatsApp StatusSaver)中共享下载的视频时,它在 Android 11 中显示“不支持的文件格式”
- varnish - 过滤访问日志:User-agent 包含“Googlebot”Referer 包含“google”
- android - 使用 SharedFlow Kotlin 实现 PublisherSubject 模式或事件总线