0

別の背景色で新しいクラスを追加して、背景色を変更しようとしています。しかし、色は変わりません。まだ同じ色です!最初に古い背景色を削除する必要がありますか?私のコードはうまくいくはずです!?

$(".displayControl a:first").addClass("activeButton");

css

.displayControl
{
padding: 20px 0 0 0;
float: right;
}

.displayControl a
{
background: #B7BABD;
margin: 0 5px 0 0;
padding: 5px 10px 5px 10px;
color: #ffffff;
}

.activeButton
{
background: #83AEE6;
}
4

4 に答える 4

4

あなたはCSSの「特異性」ルールに打ち負かされています。より具体的な指令は、スタイルシートの上位にあるにもかかわらず、その日を勝ち取っています。

最後のディレクティブを次のように変更してみてください:

.displayControl a.activeButton
{
background: #83AEE6;
}
于 2012-09-09T08:09:41.133 に答える
1

.activeButton css宣言は十分に具体的ではありません。「。displayControla」セレクターはより具体的であるため、その宣言の背景が使用されます(具体性の低い.activeButton宣言よりも優先されます)。次のように、activeButtonセレクターをより具体的にする必要があります。

.displayControl a.activeButton{
    background: #83AEE6;
}  ​

働くフィドル

于 2012-09-09T08:09:50.430 に答える
1

.displayControl aよりも優先度が高い.activeButton

代わりにこれを試してください、

.displayControl
{
padding: 20px 0 0 0;
float: right;
}

.displayControl a
{
background: #B7BABD;
margin: 0 5px 0 0;
padding: 5px 10px 5px 10px;
color: #ffffff;
}

.displayControl .activeButton
{
background: #83AEE6;
}​

デモ

于 2012-09-09T08:12:49.150 に答える
0

kreativ、

これを試していただけませんか:

    <div class='asd'>
    Something
    </div>

    .asd{background:#B7BABD;}
    .new{background:red;}

   $('div.asd').addClass(function(){
   $(this).css('background','');
   $(this).addClass('new');       
   });

http://jsfiddle.net/QV2m3/でご覧ください

ありがとう

于 2012-09-09T08:35:42.130 に答える