尝试仅修改第一列中的元素 - 更改其类

时间:2012-11-09 17:32:21

标签: javascript jquery datatables

我有一张桌子,准确的数据表。哪个是创建的,我在第一列中有计算机名,之后在所有列上都有价格。我在jquery.dataTables.editable和jquery.jeditable中使用jquery插件。

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

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

实际元素没有与之关联的类。我需要只获得第1列元素才能拥有“read_only”类

此表是动态生成的,因此需要在javascript中进行。 这就是我的尝试

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

在初始化我的数据表后,这是在$(document).read(function(){}中。

关于我需要做什么的任何建议?

3 个答案:

答案 0 :(得分:2)

试试这个......

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

在文档就绪时,它将在每一行中找到第一个td(基于0的索引)并添加类read_only

我建议给表格一个你可以在电话中引用的ID或类,以防你在同一页面上有任何其他表格。

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

答案 1 :(得分:1)

如果您正在使用数据表,那么在初始化期间添加类很容易,如下所示:

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

答案 2 :(得分:0)

由于您要添加CSS类,为什么不直接定位td上的第一个孩子?

#tableID tr td:first-child {

}

甚至不需要jquery

如果你真的想要添加一个类,你可以做同样的

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