[英]jQuery wrap a div around a massive block of HTML
我搜索.wrap()
.append()
.wrapall()
和.insertAfter()
并没有发现解决方案。 我想采用一个新的div
并将其包装在一个html块中。 我无法访问HTML,所以我需要使用jQuery。
.insertAfter()
函数是理想的,但遗憾的是它会自动关闭html标记。
问题的根源是我需要将两个单独的div
集中在一起,我无权访问它们的HTML。
$(function () {
$('<div id="centerContainer">').insertAfter('#header');
$('</div><!-- centerContainer -->').insertAfter('#footer');
});
这不是DOM的功能, .insertAfter()
以这种方式向DOM添加元素而不是字符串,你应该选择所有元素,然后在返回的集合上调用.wrapAll()
。
假设( 基于发布的代码 ) #header
和#footer
元素之间的所有元素( 如果他们的兄弟姐妹 )应该用另一个元素包装,你可以使用.nextUntil()
来选择#header
下一个兄弟,直到#footer
元素然后在返回的集合上调用.wrapAll()
:
$('#header').nextUntil('#footer').wrapAll('<div id="centerContainer"></div>');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.