2016-08-21 8 views
0

私はブートストラップを使用してテーブルを表示しています。私の現在の機能は、ユーザーがテーブル内の行を選択し、ページ上のフォームに選択した行の情報が入力されるようにすることです。ブートストラップテーブルの行を「ストライプ」スタイルにリセットする

また、ユーザーが選択された行が明示的に表示されるようにしようとしています。

$("tr").click(function() { 
    $(this).css("color", "white").css("background", "royalblue"); 
    $("tr").not(this).css("color", "black").css("background", "white"); 
}); 

問題は、私はまた、ブートストラップのtable-stripedクラスを使用しています、とjQueryは上記のスタイルを再適用する必要があることを意味する、それのいずれかを上書きし、です。

私は、行のフォアグラウンドテキストのスタイリングだけのような回避策があることを知っていますが、実際には行全体の背景を変更して、面倒です。

ブートストラップがストライプテーブルにどのような色を使用しているのかよく分かりません。上記のjQueryでストライプカラーを再実装するのは冗長です。

テーブルの残りの部分を「リセット」して、選択されていないすべての行がブートストラップストライプテーブルルールに従うようにする方法はありますか?

+0

CSSを変更しないでください。代わりにクラスを追加して削除してください。 – Malk

+0

@Malkので、このクラスをスタイルシートに追加しました: 'tr.selected {color:white;背景:ロイヤルブルー; } ' とjQueryで: ' $(この).addClass( "選択"); ' ' $( "TR")ではない(この).removeClass( "選択"); ' しかし。ストライプ行が選択されても、背景色は変更されず、前景色のみが変更されます。ストライプ化されていない行に対してのみ機能します。 –

+0

'tr.selected>を試してください。td {color:white;背景:ロイヤルブルー; } ' – Malk

答えて

0

あなたの助けにMalkをありがとうございます。ここで私は私のCSSファイルに追加するものです。

tr.selected > td { 
    color: white; 
    background: royalblue; 
} 

とjQueryで:

$("tr").click(function() { 
    $(this).addClass("selected"); 
    $("tr").not(this).removeClass("selected"); 
}); 
0
$('tr').css({ color: 'inherit', background:'inherit' }); 

または

$('tr').removeAttr('style'); 
関連する問題