divの背景画像を変更しようとしています。JQueryを使用して背景画像を変更する
私は変数に画像を保存しましたが、変数であり順方向のファイルパスではないので、これを渡す方法がわかりません。
var bgImage = $('#box').find('img');
$('#box2').css('background-image', url(bgImage));
どこが間違っていますか?
divの背景画像を変更しようとしています。JQueryを使用して背景画像を変更する
私は変数に画像を保存しましたが、変数であり順方向のファイルパスではないので、これを渡す方法がわかりません。
var bgImage = $('#box').find('img');
$('#box2').css('background-image', url(bgImage));
どこが間違っていますか?
bgImage
は、パスではありません、それはimg
要素への参照です。 src
属性の値にアクセスする必要があります。 attr('src')
。あなたはそれに画像を渡し、url()
という関数を呼び出しているかのように、実際にあなたが文字列値url(...)
を渡したいながら
また、あなたは現在、あなたのコードを使用しています。あなたのような、いくつかの文字列連結を行う必要があるでしょう:
$('#box2').css('background-image', 'url(' + bgImage.attr('src') + ')');
あなたの構文が間違っています。 、とにかく
$('#box2').css('background-image', "url(" + bgImage.attr("src") + ")");
あなたはより良いあなたが何かを持って確認します:代わりにこれを持って
if (bgImage.length == 1) {
$('#box2').css('background-image', "url(" + bgImage.attr("src") + ")");
}
ような文字列でそれを渡す必要がありますこの例では? –
@David - 私は間違って '.prop()'を '.attr()'に置き換えたと誤っていましたが、深い鋸を読み取った後はプロパティ値(例えば 'tagName')私の答えを編集しました。 –
$('#box2').css('background-image', 'url(' + bgImage.attr('src') + ')');
使用Firebugはあなたの要素を検査します。新しい背景画像がどのように設定されているかを確認します。
そして、あなたは、いくつかの引用符に
$( '#のBOX2')を欠けているCSS( '背景画像'、 'URL(\' '+ bgImage +' \ ')')。
CSSの2番目のパラメータはテキストaswelなければならない:
$('#box2').css('background-image', 'url(' + bgImage.attr('src') + ')');
$('#box2').css('background-image', 'url('+bgImage.attr("src")+') 0px 0px');
あなたは、なぜあなたは `attr``オーバーprop`を好むされる
+1ありがとう、私のためにきれいにそれをクリアしました。よく知られている! –