insertBefore() 一个 iframe jquery 问题
insertBefore() an iframe jquery problems
我必须处理来自 WISIWYG 的内容,用户可能会在其中嵌入 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
- 你不能像这样添加部分 HTML,它是无效的:
var iframe = $(this).find('iframe');
iframe.wrap("<div class='video-wrapper' />");
您应该使用 $.wrap
。参见:http://api.jquery.com/wrap/
$('div.content').each(function () {
$(this).find('iframe').wrap('<div class="video-wrapper"></div>');
});
我必须处理来自 WISIWYG 的内容,用户可能会在其中嵌入 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
- 你不能像这样添加部分 HTML,它是无效的:
var iframe = $(this).find('iframe');
iframe.wrap("<div class='video-wrapper' />");
您应该使用 $.wrap
。参见:http://api.jquery.com/wrap/
$('div.content').each(function () {
$(this).find('iframe').wrap('<div class="video-wrapper"></div>');
});