1

これを書くより良い方法はありますか:

$('.kog td:nth-child(8), .kog th:nth-child(8)').show();

クラスセレクターを繰り返しています。

4

3 に答える 3

8

あなたが使用することができます

$('.kog').find('td,th').filter(':nth-child(8)').show();

それほど簡潔ではないことに気付くでしょうが、おそらく意図をよりよく示しています。

于 2013-03-04T14:52:26.697 に答える
0

変数をキャッシュして、その中に必要なものを見つけることができます。私は個人的にクラスを使用して可視性を設定します。

var $kog = $( '.kog' );

$kog.find( 'td:nth-child(8), th:nth-child(8)' ).addClass( 'is-visible' );

したがって、次のような CSS クラスがあります。

.is-visible { display: block; }

実行中の他のルールと競合する場合は、ルールを !important として指定する必要がある場合があります。

于 2013-03-04T14:57:47.610 に答える
0

HTML を見たり、ユース ケースを知らなかったりしないと、なんとも言えません。

.kod複数のテーブルを返すつもりですか? もしそうなら、見せたくないものを見せてしまうかもしれません。2 つの.kodテーブルがあり、それぞれに 6 つの TD がある場合、2 番目のテーブルに表示されます。THセレクターについても同様です。

これはかなり奇妙なセレクター/やるべきことのようです。これは、ヘッダーと本文行が 1 行だけの単一の長いテーブルですか? もしそうなら、あなたがしていることは理にかなっていると思います。これを行うことで、クラスセレクターの繰り返しを避けることができます:

jQuery('.kod').find("td:nth-child(8), th:nth-child(8)").show();  

例: http://jsfiddle.net/n2dGm/

于 2013-03-04T15:07:18.030 に答える