2

ページ上のすべてのテーブルの最初の行を手動でスタイルする必要があります。残念ながら、私はいくつかの古いブラウザーを扱っているので、jQuery 経由でこれを行いたいと考えています。

現在私は使用しています:

$(function() {
 $(".OpenCourse tr:first").addClass("OpenCoursesHeader");
});

次にスタイルに追加.OpenCoursesHeader td {}します。

クラスOpenCoursesHeaderは最初のテーブルにのみ適用されるようです。

2番目に適用する方法はありますか? 単純にする場合、ページには常に 2 つのテーブルしかありません。

4

6 に答える 6

3

first-childセレクター を使用できます。first作業しているセレクターの最初の要素のみを選択します。

$(function() {
 $(".OpenCourse tr:first-child").addClass("OpenCoursesHeader");
});

ただし、ネストされたテーブルがある場合、このソリューションはクラスを最初の にも追加しtrます。

于 2012-10-17T16:09:38.660 に答える
1

あなたは使用することができfind()、それは動作します:

$(".OpenCourse").find("tr:first").addClass("OpenCoursesHeader");

デモ: http://jsfiddle.net/bUqPX/1/ -- Fabrícioに感謝:)

于 2012-10-17T16:06:07.657 に答える
1
$(function() {
    $(".OpenCourse tr:nth-child(1)").addClass("OpenCoursesHeader");
});

フィドル

:nth-child() selector参照

:first-childまたは、 @ComputerArts によって回答されたセレクターを使用できます。これは、ドキュメント:nth-child(1)のとおりと同等です。

<thead>また、 / <tbody>/要素がある場合、これは適切に機能しない可能性が<tfooter>あります。その場合、スタイルを適用する要素もセレクターで指定する必要があります。

$(".OpenCourse thead:nth-child(1) tr:nth-child(1)").addClass("OpenCoursesHeader");
于 2012-10-17T16:06:20.370 に答える
0
$(function() {
    $(".OpenCourse").each(function() {
        $("tr:first",this).addClass("OpenCoursesHeader");
    });
});

試してみてください。私たちが見ることができるコードのあるページはありますか?

于 2012-10-17T16:08:18.883 に答える
0

table最初に選択してfindonを実行しtr:firstます。

OpenCourse以下は、テーブルのコレクションのコンテナであると仮定しています..

$(".OpenCourse table").find("tr:first").addClass("OpenCoursesHeader");

OpenCourseがテーブルのクラスである場合は、 @Visionの答えを試してください

于 2012-10-17T16:08:20.640 に答える
0

これを試して:

$(function() {  
     $("table tr:first").addClass("OpenCoursesHeader"); 
});

これは、ページ上のすべてのテーブルに適用されます。お役に立てれば!!

于 2012-10-17T16:06:56.803 に答える