谷歌搜索了一个多小时,并得到了更复杂的问题的答案,但不是这个简单的问题,我的傻瓜书没有帮助。
如果特定单元格有值,我想更改行的背景。所以:
$('#MyTable tr').each (function(index) {
$(this).css('background-color', '#FCDCE4');
});
可以正常工作以更改每行中的bg颜色,但是如何才能在列30具有值的行中执行此操作?我可以给我的目标单元格一个css类,并且这样做,但我真的宁愿学会正确使用jQuery(这样我就不需要继续发布基本问题了)。
答案 0 :(得分:5)
您可以使用jQuery .children()
和.eq()
来获取单元格30。
请注意.eq()基于零,因此您需要使用29来获取第30个单元格
$('#MyTable tr)').each (function(index) {
var cell = $(this).children("td").eq(29)
// your if condition
$(this).css('background-color', '#FCDCE4');
});
答案 1 :(得分:3)
$('table td:nth-child(30):empty').each(function(){
$(this).css('background-color','#FCDCE4'); // empty column
});
nth-child
选择器抓住第30列
:empty
抓住空单元格。
关于jsFiddle的示例可以在这里找到:http://jsfiddle.net/pYA4U/
答案 2 :(得分:1)
首先,将对表的引用放在变量中:
var table = $( '#myTable' )[0];
您可能希望在整个应用程序中保持此引用可用(以便您的所有方法都可以访问它)。
下一步:
var nr = 30; // the column number
$( table.rows ).each( function () {
if ( $( this.cells ).eq( nr - 1 ).text() ) {
$( this ).addClass( 'selected' );
}
});
因此,如果30.单元格有任何文本内容,请将'selected'
类添加到该行。