jQuery .each()函数显示iframe中的最后一个链接

时间:2014-05-08 16:42:25

标签: javascript jquery html

我的页面上有一些链接,每个人都链接到一个弹出窗口,该弹出窗口应加载带有动态源属性的iframeiframe有一个名为'pholder'的div,其中应加载iframe。因此,每个链接应该是另一个iframe。但事实并非如此。它总是一样的。确切地说,它始终是最后一个链接,我不知道为什么。在这里,您可以看到弹出窗口的HTML:

<div id="toPopup3">
    <div id="videoContainer">
        <div id="activeVideo">
            <div class="pholder"></div>
        </div>
    </div>
</div> <!--toPopup3 end-->

我必须说我的链接都有类toPopup3 link + ee是视频的最大值(0-23)。所以我使用此代码添加iframe

var videoLink;
var split;

$('[class^="topopup3 link"]').each(function(){
    videoLink = $(this).attr('href');
    split = videoLink.split("/");
});

$('.pholder').html('<iframe src="http://player.vimeo.com/video/'+split[3]+'?title=0&byline=0&portrait=0&color=fc6626" width="500" height="281" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>');

所以它始终显示iframe中的最后一个来源,我没有摆脱它。有人能帮助我吗?

以下是指向该网页的实时版本的链接:Live Page。问题出现在'电影制作'上。我还在代码中添加console.log(split[3]);以查看链接的顺序。

1 个答案:

答案 0 :(得分:2)

修改:如果能够更深入地了解您的目标,我认为使用点击处理程序完成此任务会更好:

$('[class^="topopup3 link"]').on('click', function(){
    var videoLink = $(this).attr('href');
    split = videoLink.split("/");
    $('.pholder').html('<iframe src="http://player.vimeo.com/video/'+split[3]+'?title=0&byline=0&portrait=0&color=fc6626" width="500" height="281" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>');
    // may need to show the iframe modal or whatever here
});

完成循环之前,您没有对split变量做任何事情,因此该值将是最后一个。如果您想要使用每个值,则需要将后续的$('.pholder')...代码移到each块中