2016-11-11 11 views
-1

からこれらのシンプルなCMSの1つにネストされたimg srcを取得するタグからsrcのsrcを親divの背景画像のURLに渡す必要があります。明確なIDですべてがうまくいくはずですが、今では私はそれを自動化しようとしていますし、うまく動作しません。私はそれが何らかの構文エラーであるはずだと確信していますが、私はJavaには全く新しいものです。事前に感謝4任意のヒント! :)

これは、これまでのところ、私のコードは次のとおりです。

 var imageUrl = $(this).find('img').attr('src'); 
 
     console.log(imageUrl) 
 

 
     $('.background-image').css('background-image', 'url(' + imageUrl + ')');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div class="background-image"> 
 
    <img src="myimg1.jpg" class="imgtag"> 
 
</div> 
 

 
<div class="background-image"> 
 
    <img src="myimg2.jpg" class="imgtag"> 
 
</div> 
 

 
<div class="background-image"> 
 
    <img src="myimg3.jpg" class="imgtag"> 
 
</div>

+0

「this」とは何ですか? –

+2

「私はかなりJavaに新しいです。」javascript?またはjava。どちらも? –

答えて

0

あなたはそれだと思う何もすることはできませんthis除いて...動作するはずですが何をしています。 $(this)clickイベントのようなものから呼び出された場合、thisはクリックされた要素に設定されるため、画像を含む必要があります。

そこから呼び出されていない場合は、thisがおそらくウィンドウを参照しています。これは実際にはどちらでも必要なものではありません。おそらく:

var imageUrl = $('#some-container').find('img').attr('src'); 

#some-containerはあなたがターゲットにすることができ、画像の一部の親要素であることと、あなたが望むものです。

あなたが親で複数の要素にこれを適用する場合は、あなたがこのようなものを使用することができます

$('#some-parent').find('img').each(image => { 
    let imageUrl = $(image).attr('src'); 
    // do something with imageUrl 
}); 

をそれは#some-parentの中で、あなたが実際にあなたを行うことができ、すべてのimgをループよ数行のコードでそれらのすべてを必要とする。

$(".full-image").each(function() { 
 
    var imageUrl = $(this).find('img').attr('src'); 
 
    console.log(imageUrl) 
 
    $(this).css('background-image', 'url(' + imageUrl + ')'); 
 
    });
:最初のコメントへ

+0

誰もがdownvoteを説明する気に?彼らが持っていることに基づいて、私は「this」が問題であることを賭けて喜んでいるでしょう。 – samanime

+0

ありがとうございます。あなたのソリューションは正常に動作しますが、ウェブサイト上のすべてのイメージに1行追加する必要があります。これは自動化する方法がありますか?すべての '.background-image'コンテナでimgが見つかり、srcがコンテナのバックグラウンドURLに渡されるようにします。 また、私はdownvoteを説明することはできません、私はあなたの答えが非常に参考になった! – hans

+0

更新された回答を確認してください。 – samanime

0

[OK]をおかげで私は(これは):)だから私は.each機能を使って作業し、これは、私の最終的なJavaのスニペットは次のようになりました$の意味を理解し始めています

+0

それはJavaではありません。それはJavaScriptです2つは非常に異なるものです。 – Craicerjack