2017-11-09 37 views
0

私はbody:afterを使用してページの壁紙を設定しています。jQuery CSSが背景に背景画像を設定した後:

body:after 
{ 
    background-image: url('assets/img/wallpapers/<?php echo $getWallpaperFile; ?>'); 
} 

私はページをリロードしようとすると、コードがOKに動作していることをCSS

content: ' '; 
display: block; 
position: absolute; 
left: 0; 
top: 0; 
width: 100%; 
height: 100%; 
z-index: 1; 
opacity: 0.6; 
background-repeat: no-repeat; 
background-position: 50% 0; 
-ms-background-size: cover; 
-o-background-size: cover; 
-moz-background-size: cover; 
-webkit-background-size: cover; 
background-size: cover; 

今、jQueryを使用してその背景を変更したいと思います。

$("body:after").css("background-image", "url('http://hdwallpapersrocks.com/wp-content/uploads/2013/12/Colorful-new-born-feathers-awesome-wallpapers.jpg')"); 

試してみました。

私の質問は、jQueryのbackground-imagebody:afterに設定できますか?

+0

'背景画像を本文に設定することは可能ですか?on jQuery?** **いいえ**疑似セレクタはJqueryでは機​​能しません。 –

+0

':before'や':after'のような疑似要素はDOMの一部ではないため、jQueryでは選択できません。とにかくこのケースで ':after'を使っているのはなぜですか? –

+0

':after'セレクタを削除するだけです –

答えて

5

jQueryは、:before:afterをターゲットにできません。あなたの代わりに有していると、それがJavaScriptから来ることをコメントで述べてきたので

.body.loaded:after { 
    /*background image*/ 
} 

CSSのその後
$('body').addClass('loaded'); 

:あなたは何ができるか

ではなく、このです:after

divを使用すると、後にaを置き換えることができます クラス名。

次に、$('body .newDiv');をターゲットにすることができます。

+0

こんにちは...画像がjQueryの文字列から取得するのはどうですか? –

+0

それから、jQueryがそれを変更できないように、 ':after'をターゲットにしないようにhtml構造を変更する必要があります。 @HiDayurieDave – Albzi

+0

私に例を教えてください:) –