当td数据数字时,jQuery改变css右对齐(动态表)

时间:2014-03-29 19:53:47

标签: jquery css html-table

$('tr > td:gt(0)').filter(function() {
                        return this.innerHTML.match(/^[0-9\s\.,]+$/);
                        }).css('text-align','right');

我正在尝试遍历动态表并右对齐每行上包含数字数据的每个td,除了每行的第一个td。

它适用于第一个tr而不是每个后续行......

1 个答案:

答案 0 :(得分:1)

这不起作用的原因是你的jQuery选择器正在收集所有td元素(属于tr s的子元素),然后子元素选择除第一个之外的所有。为避免这种情况,您可以迭代表格的各行,将过滤器应用于每个行的td元素:

$('tr').each( function () { 
    $(this).children('td:gt(0)').filter(function() {
        return this.innerHTML.match(/^[0-9\s\.,]+$/);
    }).css('text-align','right')
});

如果您只想将其应用于某个表,请将第一行中的选择器更改为'#table-id tr'

这里有效:http://jsfiddle.net/munderwood/d48Q4/1/