2017-07-31 9 views
-1

私はいくつかのdivを持つコンテナを持っています。各divには背景イメージがあります。各画像からURLにURLを取得する必要があります背景URLを配列

<div id="images"> 
    <div style="background-image: url(79cbf113f.jpg)" class="thumb" title=""></div> 
    <div style="background-image: url(234234234.jpg)" class="thumb" title=""></div> 
</div> 
<button>Click</button> 

$(document).on("click", "button", function() { 
    var img = $('#images .thumb').attr("src"); 
}); 

どうすれば入手できますか?

+0

クール – santa

答えて

0

map.cssを使用して、対応するCSSプロパティを取得します。正規表現を使用してプロパティを処理することもできます。

$(document).on("click", ".button", function() { 
 
    console.log(
 
     $('#images .thumb').map(function(){ 
 
     return $(this).css('background-image').replace(/url\("(.+)"\)/, '$1') 
 
     }) 
 
     .toArray() 
 
    ); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="images"> 
 
    <div style="background-image: url(79cbf113f.jpg)" class="thumb" title=""></div> 
 
    <div style="background-image: url(234234234.jpg)" class="thumb" title=""></div> 
 
</div> 
 

 
<button class="button">Collect Images </button>

+0

を更新@trincot。私はパスなしでイメージ名が必要です。ちょうど交換するのですか?ありがとう – santa

+0

次に、いくつかのネイティブDOMコード 'this.style.backgroundImage.replace(/ url \("(+) "\)/、 '$ 1')' –

0

使用mapget:divを超える

$(document).on("click", "button", function() { 
 
    var images = $('#images .thumb').map(function() { 
 
     return this.style.backgroundImage; 
 
    }).get(); 
 
    console.log(images); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="images"> 
 
    <div style="background-image: url(79cbf113f.jpg)" class="thumb" title=""></div> 
 
    <div style="background-image: url(234234234.jpg)" class="thumb" title=""></div> 
 
</div> 
 
<button>Click</button>

関連する問題