1

私はテーブル、正確にはデータテーブルを持っています。これは作成中です。最初の列にコンピューター名があり、その後のすべての列に価格があります。jquery.dataTables.editable と jquery.jeditable で jquery プラグインを使用しています。

これが私の主張を証明する簡単な図です。

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

実際の要素には、関連付けられたクラスがありません。「read_only」のクラスを持つには、列1の要素のみを取得する必要があります

このテーブルは動的に生成されるため、javascript で行う必要があります。これは私が試していたものです

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

これは、データテーブルを初期化した後、$(document).read(function(){} にありました。

私が何をする必要があるかについて何か提案はありますか?

4

3 に答える 3

2

これを試して...

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

ドキュメントの準備が整うと、各行の最初の td (0 ベースのインデックス) が検出され、クラスが追加されread_onlyます。

同じページに他のテーブルがある場合に備えて、呼び出しでも参照できる ID またはクラスをテーブルに与えることをお勧めします。

明らかに、既存のクラスを削除する必要がある場合は、以前のように.attr("class", "read_only")の代わりに に変更しaddClassてください。

于 2012-11-09T17:34:27.910 に答える
1

データテーブルを使用している場合、次のように初期化中にクラスを簡単に追加できます。

$('#example').dataTable( {
"aoColumns":
 [
    { "sClass": "my_class" }, //class for the first column
    null,
    null     
 ]
 } );
于 2012-11-09T18:24:20.063 に答える
0

CSSクラスを追加しているので、tdの最初の子をターゲットにしないのはなぜですか?

#tableID tr td:first-child {

}

jqueryも必要ありません

本当にクラスを追加したい場合は、同じことを行うことができます

$('#tableID tr td:first-child');
于 2012-11-09T18:08:32.233 に答える