$('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/