0

必要な特定の行を選択できましたが、それらの tr から特定の td を選択できません。

これを使用して行を選択しました:

$('#time-slot tr:not(:first, :last)')

次に、選択した行内で最初と最後の td を無視しようとしましたが、機能していません。上記と同様のアプローチを使用しました

$('#time-slot tr:not(:first, :last) td:not(:first, :last)')

この問題にどのように取り組むべきかについてのアイデア。ところで、マウスをクリックしてドラッグして、セルをユーザー定義の色でペイントしようとしています。

4

3 に答える 3

1

文字列セレクターを少なくしてjQueryメソッドを多く使用すること、および問題にセレクター:first-child:last-childセレクターを使用することを好みます。

$("#time-slot").find("tr").not(":first-child, :last-child").find("td").not(":first-child, :last-child").addClass("active");

http://jsfiddle.net/7b4Ms/

あなたが期待しているものに応じて、あなたが十分に説明していないので、これはあなたが望むものかもしれませんし、そうでないかもしれません. これが行うことは、最初と最後ではないすべてのtr要素を選択することです。これらの一致した要素内で、最初と最後ではないtrすべての要素を選択します。tdしたがって、基本的に、セルの外側のリングは選択されませんtable

于 2013-01-25T06:11:26.017 に答える
0

Ianに完全に同意します。ただ、.find()の代わりに.children()を使用することを好みます。ネストされたテーブルがあると問題が発生する可能性があるためです。

$("#time-slot").find("tr").not(":first-child, :last-child").find("td").not(":first-child, :last-child").addClass("active");

変更点:

$("#time-slot").children("tr").not(":first-child, :last-child").children("td").not(":first-child, :last-child").addClass("active");
于 2013-01-25T06:20:36.633 に答える
0

これを試してください(CSSセレクターのみを使用):

$("#time-slot tr:not(:first,:last) td:not(:first-child,:last-child)").addClass("active");

サンプル

于 2013-01-25T06:39:40.837 に答える