insertBefore()一个iframe jquery问题

时间:2015-01-15 22:06:42

标签: javascript jquery html iframe

我必须处理用户可能嵌入YouTube视频的WISIWYG内容。

我需要在任何iframe中搜索输出WISIWYG的容器,然后将该iframe包装在<div class="video-wrapper">标记中。这是我试过的:

        $('div.content').each(function () {
            var iframe = $(this).find('iframe');

            $('<div class="video-wrapper">').insertBefore(iframe);
            $('</div>').insertAfter(iframe);

        });

这不起作用,最终只会在iframe之前添加div(包括结束标记)。

想法?

2 个答案:

答案 0 :(得分:4)

您应该使用$.wrap。请参阅:http://api.jquery.com/wrap/

$('div.content').each(function () {
    $(this).find('iframe').wrap('<div class="video-wrapper"></div>');
});

答案 1 :(得分:3)

使用wrap - 您无法像这样添加部分HTML,它无效:

var iframe = $(this).find('iframe');
iframe.wrap("<div class='video-wrapper' />");