2017-01-03 11 views
0

divに背景を追加したいと思います。このCSSを使用してdivに背景を追加する

は期待通りに動作します:

background: url('../images/badge2.png') ; 

。 。 。しかし、上記の代わりにこのCSSを使用すると、うまくいきません。

$('#offerDiv').css("background", "url('../images/badge2.png')"); 

何が間違っている可能性がありますか?

+1

私にあなたの後にエラーメッセージや要素の状態を教えてくださいこのコードを実行しました。 – GolezTrol

+0

あなたのhtmlコードを追加してください –

+0

おそらく、それはこのページの答えとして、パスの問題です。 – junkfoodjunkie

答えて

1

もう1つの方法は、純粋なCSSルールを適用せず、JavaScriptコードのクラスのみを処理することです。あなたは、例えば、CSSクラスを作成することができます。その後、

.styledDiv { 
    background: url('../images/badge2.png'); 
} 

そして要素に、このCSSクラスを適用するためにjQueryのaddClass機能を使用します。

$('#offerDiv').addClass("styledDiv"); 
+0

ありがとう非常に多く –

5

CSSのurl()が使用されている場所からの相対値である必要があるからです。この場合を考えてみましょう。

background: url("../img/badge.png"); 

ながら、あなたはJavaScriptを使用して要素の上にそれを設定している場合は、あなたと、URLの変更HTMLファイル、でそれを設定している:style.cssあなたが設定する必要がで

- index.html 
- css/ 
    - style.css 
- img 
    - badge.png 

CSSが解析されるHTMLファイルを基準にしています。だから、HTMLファイルから、それは兄弟の(img)子(badge.png)です:

background: url("img/badge.png"); 

しかし、CSSファイルで、それは親の(../)兄弟の(img)子(badge.png)です。これで十分ですか?

関連する問題