Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery函数用相同的东西替换所有iframe_Jquery - Fatal编程技术网

jquery函数用相同的东西替换所有iframe

jquery函数用相同的东西替换所有iframe,jquery,Jquery,我的页面上有多个iframe,这个jQuery将它们全部替换为同一个东西这里有一个示例,因为您将看到两者的iframe src是不同的 我已尝试实施。每个,但均未成功:/ <script> $(function (){ if($(".vid-wrap iframe").length){ var youtubeid = $(".vid-wrap iframe").attr("src").match(/[\w\-]{11,}/)[0]; $(".

我的页面上有多个iframe,这个jQuery将它们全部替换为同一个东西这里有一个示例,因为您将看到两者的iframe src是不同的 我已尝试实施
。每个
,但均未成功:/

<script>
$(function (){
    if($(".vid-wrap iframe").length){
        var youtubeid = $(".vid-wrap iframe").attr("src").match(/[\w\-]{11,}/)[0];

        $(".vid-wrap iframe").replaceWith('<a onclick="window.open(&#39;http://www.youtube.com/watch_popup?v=' + youtubeid +'&vq=medium&#39;,&#39;Video&#39;,&#39;width=560, height=315&#39;); return false;"><img style="width:480px;height:360px;background-image:url(http://i1.ytimg.com/vi/' + youtubeid +'/hqdefault.jpg);" class="someClass" src="http://3.bp.blogspot.com/--0FurTdrYzg/Tsj3RPXGz4I/AAAAAAAAAGI/mm_4UvmoD-A/s1600/standard.png"/></a>');
    }
});
</script>

$(函数(){
if($(“.vid wrap iframe”).length){
var youtubeid=$(“.vid wrap iframe”).attr(“src”).match(/[\w\-]{11,}/)[0];
$(“.vid wrap iframe”)。替换为(“”);
}
});

应该这样做

这将起作用:

$(function (){
    $(".vid-wrap iframe").each(function() {
        var youtubeid = $(this).attr("src").match(/[\w\-]{11,}/)[0];

        $(this).replaceWith(
            $('<a />').click(function() {
                 window.open(
                     'http://www.youtube.com/watch_popup?v=' + youtubeid +'&vq=medium',
                     'Video',
                     'width=560, height=315'
                 );
            }).append(
                '<img style="width:480px;height:360px;background-image:url(http://i1.ytimg.com/vi/' + youtubeid +'/hqdefault.jpg);" class="someClass" src="http://3.bp.blogspot.com/--0FurTdrYzg/Tsj3RPXGz4I/AAAAAAAAAGI/mm_4UvmoD-A/s1600/standard.png"/>'
            )
        );
    });
});
$(函数(){
$(“.vid wrap iframe”)。每个(函数(){
var youtubeid=$(this.attr(“src”).match(/[\w\-]{11,}/)[0];
$(此)。替换为(
$('')。单击(函数(){
打开窗户(
'http://www.youtube.com/watch_popup?v=“+youtubeid+”&vq=medium”,
“视频”,
'宽度=560,高度=315'
);
}).附加(
''
)
);
});
});

你想过不在一行中编写代码吗?@Eric如果有帮助的话,试试JSFIDLE,这同样没用。Smamatti现在已经修复了它。Esailja的可能重复不,这不是我对jquery的问题,我已经想出了一个替代解决方案,它不会工作,因为它替换了所有的iFrame,这是对该问题的一个回答,但它有一个问题,可能重复?!!!但是我所做的只是获取src并使用它来超链接一个图像。通过html字符串添加onclick处理程序是一种糟糕的做法@Yusaf:添加缺少的括号超出了您的能力吗?我写jquery的时间不长,对我来说很难,而且您最近的编辑也没有worked@Yusaf:这是因为javascript使用的是
.vid wrap
,而您的HTML使用的是
视频wrap
!谢谢你的贡献,这是一个非常糟糕的问题,谢谢