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


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

我正在尝试循环通过一个动态表和右对齐每个td,包含每一行的数字数据,除了每一行的第一个td。

它工作在第一个tr,但不是每个后续行…

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

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

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

下面是它的作用:http://jsfiddle.net/munderwood/d48Q4/1/

最新更新