javascript - 将类与表行匹配

标签 javascript jquery regex

我有以下代码:

var sum = 0;
    $("#scLD > tbody > tr > td:nth-child(2)").each(function () {
        var x = $(this);
        if (x.parent().hasClass(/^onHandTdmm([0-9]+)$/)) {
            var y = parseFloat(x.text(), 10) || 0;
            sum += y;
        }
        if (x.parent().hasClass("onHandGrand")) {
            x.html(sum);
            sum = 0;
        }
    })

我正在尝试搜索一列,并且是否有任何单元格父级(行)包含某个类名称,后跟任何单个数字来添加它。因此,基本上,如果父级包含 onHandTdmm 类,后跟任何数字(例如 onHandTdmm1)。我想出的正则表达式 (/^onHandTdmm([0-9]+)$/) 在我的函数中只返回 0。

最佳答案

与其循环遍历所有单元格并匹配具有该类的父级,为什么不只查找具有该类的行,然后根据需要操作该单元格?

对于正则表达式部分,您需要使用 .test,因为 jQuery 选择器本身并不处理正则表达式。

工作中的 JSFiddle: https://jsfiddle.net/j4d3zgqt/4/

var sum = 0;
$("#scLD > tbody > tr").each(function() {
    var $row = $(this);
    var $cell = $(this).find('td:nth-child(2)');

    if (/^onHandTdmm([0-9]+)$/.test($row.attr("class"))) {
        var y = parseFloat($cell.text(), 10) || 0;
        sum += y;
    }
    if ($row.hasClass("onHandGrand")) {
        $cell.html(sum);
        sum = 0;
    }
});

关于javascript - 将类与表行匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41151273/

相关文章:

c# - C# 中的字符串操作以递增数字

javascript - 处理当前引发异常的正则表达式中的潜力

javascript - Angular.js : How do I use ng-bind to display concat. 数组元素作为字符串?

jquery - 计算 HTML5 Canvas 上绘制的形状内的像素数?

jQuery 根据最近图像的宽度更改 div 的宽度?

JQuery ASP.NET .change 事件未触发

JavaScript 和 iframe 样式

javascript - Polymer:自定义元素在 Enter 上提交表单

javascript - 为什么遍历 ES6 Map 不会在 ReactJS 中创建任何子元素?

python - 提取单词和之前的单词并插入正则表达式中的“_”之间