insertBefore() 一个 iframe jquery 问题

insertBefore() an iframe jquery problems

本文关键字:jquery 问题 iframe 一个 insertBefore      更新时间:2023-09-26

我必须处理来自所见即所得的内容,用户可能会嵌入YouTube视频。

我需要搜索 WISIWYG 输出到的容器以查找任何 iframe,然后将该 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(包括结束标记)。

想法?

你应该

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

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

使用wrap - 你不能像那样添加部分 HTML,它是无效的:

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