我有一个骨干网集合,我想从每个模型中获取特定值,然后将该值插入到iframe中。
因此,我有多个iframe,要在其中动态插入data-src,iframe的基本代码为:
<iframe class="playlist" data-src=""></iframe>
和我的骨干网代码:
this.collection.each(function(spotify) {
var service = spotify.get('services').spotify;
var spotifyplayId = service.substr(service.lastIndexOf('/') +1);
console.log(spotifyplayId)
$('iframe.playlist').each(function(spotifyplayId) {
$(this).attr('data-src', 'https://embed.spotify.com/?uri=spotify:user:digster.dk:playlist:'+ spotifyplayId);
});
});
console.log(spotifyplayId)
为我提供了正确的数据,只有动态插入iframe失败。我究竟做错了什么? 最佳答案
尝试这个
this.collection.each(function(spotify, index) {
var service = spotify.get('services').spotify,
spotifyplayId = service.substr(service.lastIndexOf('/') +1);
$('iframe.playlist').eq(index).attr('data-src', 'https://embed.spotify.com/?uri=spotify:user:digster.dk:playlist:' + spotifyplayId);
});
因为在您的示例中,
spotifyplayId
是循环中的索引(0,1,2),但是您需要从父范围获取spotifyplayId
。在本例中,最好使用.eq而不是$.each
。