我有一个骨干网集合,我想从每个模型中获取特定值,然后将该值插入到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

09-19 17:01