2011-09-12 13 views
1

私は現在、以下のように設定された背景画像とのDIVを持っている:jQueryのCSSの背景

background: url(../images/site/common/body-bannar-bkground.png) repeat 0 0; 

どのように私はこのイメージを削除し、背景のみ色を設定することができます。私が知っている

background-color: #C1A3A5 

を私はこのような新しい色を設定するには

$('div#id').css('backgroundColor', '#C1A3A5'); 

しかし、これを実行すると背景画像はそのまま残ります。どのようにして背景画像をノックアウトできますか?私は逆にこれを行う必要がありますので、どうすれば背景色を消すことができますか?

最後に、そこに設定された属性でremoveClassを追加する方が良いでしょうか、基本的に同じ要素ですか?

答えて

5

はちょうどそれを上書きするbackground速記ルールを使用

$("div#id").css("background",""); 
$('div#id').css('backgroundColor', '#C1A3A5'); 

最初の文は完全に背景が削除され、2番目は、背景に色だけを添付します:

THX

1

ただ、これを試してみてください

$('div#id').css('background', '#C1A3A5'); 
3

JSの中のCSSは決して良い考えではありません。

さまざまな目的のために、異なるCSSルールを使用して異なるクラスを使用し、それに応じて適切に適用/削除する方がよい。あなたは、できるだけJS、CSS、HTMLを互いに分離しておきたいと思っています。

あなたのCSS:

#id { 
    background-position: 0 0; 
    background-repeat:repeat; 
    background-color: #C1A3A5; 
} 

.backgroundImage { 
    background-image: url(../images/site/common/body-bannar-bkground.png); 
    /* background-color: add different color if needed */ 
} 

あなたのJS:

$('#id').removeClass('backgroundImage'); 

あなただけがそれを表示するかないようにしたい場合は、あなたのdivにbackgroundImageのクラスを追加または削除する必要があります。他の背景設定は変更されません。