jquery循环脚本遍历表的一列中的所有单元格

时间:2015-05-08 20:29:06

标签: jquery each

只是一个FYI我在jquery很糟糕,非常非常糟糕。

好的,我有一个表,我想格式化第5列中每个单元格的数字到目前为止我的脚本只适用于第5列中的第一个单元格,然后它复制第一个单元格而不是其余的,我希望它循环每个单元格,并提供一个独特的单元格值。

我正在使用我的脚本

  1. 我在第5列的每个单元格上添加了一个ID(我不能手动添加一个,因此这是我能做到的唯一方法)
  2. 我正在添加£,然后将数字格式化为2位小数
  3. 最后,我需要在id'test'
  4. 的所有实例上重新运行第2步

    我正在处理这样的数字

    • 46.244131455399064
    • 48.82629107981221
    • 0.9823076923076923

    正如你所看到的那样,这只是令人难以理解的阅读,因此我正在做这个剧本。

    我已将代码添加到底部。

    感谢您的帮助。

    $(document).ready(function(){
        $('table>tbody>tr>td:nth-child(5n)').prop('id', 'test');
        $('#test').each(function(){
            var test = parseFloat($('#test').text()).toFixed(2);
            $('table>tbody>tr>td:nth-child(5n)').empty().append('£', test);
        });
    });
    

1 个答案:

答案 0 :(得分:2)

根据JQuery文档,id selector将选择一个元素。 使用类可以轻松地选择多个元素。你可以添加这样的类:

$('table>tbody>tr>td:nth-child(5n)').addClass('formatted');

然后按类选择元素:

$('.formatted').each(function(){
    var test = parseFloat($(this).text()).toFixed(2);
    $('table>tbody>tr>td:nth-child(5n)').empty().append('£', test);
});

另请注意,each功能中的选择器已从$('#test')更改为$(this)。在第一种情况下,您总是选择id = test的第一个元素,而在后一种情况下,您将获得循环中的当前元素。