2012-11-09 39 views
1

我有一张表,数据表是精确的。其中正在创建,我有第一列的计算机名称和所有列后的价格。我在jquery.dataTables.editable和jquery.jeditable中使用jquery插件。试图在第一列中修改​​元素 - 更改其类

这是一个简单的图来证明我的观点。

Column 1 | Column 2 
-------------------- 
Apples | 44% 
-------------------- 
Bananas | 23% 
-------------------- 
Oranges | 13% 
-------------------- 
Other | 10% 
-------------------- 

实际元素没有与它们关联的类。我需要得到ONLY列1元素有一类“read_only”

此表是动态生成的,所以它需要发生在JavaScript中。 这就是我试图

$('tr').each(function(){ 
     if($("tr:first-child")){ 
      $(this).attr("class", "read_only"); 
     } 
    }); 

这是在$(文件).read(函数(){},之后我初始化我的数据表。

任何建议什么,我需要做什么?

+0

尝试'$(本).find( 'TD')EQ(0).addClass( 'READ_ONLY');' – Chad

+0

$('TR TD:第一孩子)。 addClass( 'READ_ONLY'); – Derek

回答

1

这样的:

$('#example').dataTable({ 
"aoColumns": 
[ 
    { "sClass": "my_class" }, //class for the first column 
    null, 
    null  
] 
}); 
+0

这是我能够开始工作的解决方案!谢谢! – envinyater

2

尝试......

$(function() { 
    $("tr td:eq(0)").addClass("read_only"); 
}); 

在文件准备它会发现每一行的第一个TD(0基于指数),并添加类read_only

我建议给表提供一个ID或类,你也可以在调用中引用,以防万一在同一页面上有其他表。

显然,如果您需要删除任何现有的类,请将其更改为.attr("class", "read_only")而不是addClass,就像以前一样。

0

既然你正在添加一个CSS类,为什么不把目标放在td上的第一个孩子呢?

#tableID tr td:first-child { 

} 

甚至不需要jQuery的

如果你真的想添加一个类你可以,如果你正在使用的数据表可以很容易地像在初始化过程中添加类做同样的

$('#tableID tr td:first-child');