I'm struggling to write the proper function to replace each img instance inside the wrapper div's. The page I'll be implementing this on will have a dynamic number of wrappers with thumbnails and Vimeo links. I'm trying to dynamically apply the thumbnail, by pulling it from the API, to each img instance accordingly.
Here is a styled page for reference where the first instance works correctly: https://rapt3.webflow.io/projects/tbe-banner-video-22
Here is a codepen with the latest snippet.
var ele = '#wrap';
$.each($(ele), function()
{
var vimeoLink = $("a#vimLink").attr("href");
var vAPIprefix = "https://vimeo.com/api/oembed.json?url=";
var url = vAPIprefix + vimeoLink;
var vURL;
var img_url;
$.getJSON( url, function( data ) {
console.log(data);
img_url = data.thumbnail_url;
console.log(`IMG URL: ${img_url}`);
jQuery('#titleID').replaceWith(img_url);
$('#thumb').attr("srcset",img_url);
});
});
.wrapper {display: flexbox; flex-direction: column;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<div id="wrap" class="wrapper">
<div id="titleID">Test</div>
<a id="vimLink" href="https://vimeo.com/566613630">View on Vimeo</a>
<img id="thumb" src="">
</div>
<div id="wrap" class="wrapper">
<div id="titleID">Test</div>
<a id="vimLink" href="https://vimeo.com/747740403/7c08c6505a">View on Vimeo</a>
<img id="thumb" src="">
</div>
<div id="wrap" class="wrapper">
<div id="titleID">Test</div>
<a id="vimLink" href="https://vimeo.com/747740344/d1cc0af377">View on Vimeo</a>
<img id="thumb" src="">
</div>