Javascript 使用jquery仅插入开始标记或结束标记

Javascript 使用jquery仅插入开始标记或结束标记,javascript,jquery,dom-manipulation,Javascript,Jquery,Dom Manipulation,我正在学习使用 replaceWith('<section>') 我也不能去上班。我想可能与包装有关的不是所有的兄弟姐妹 我不相信jquery会允许这种行为,因为这实际上允许您使标记无效 处理dom—它将这些标记组视为“节点”。它们被分组为具有属性和值的对象以及依赖于它们的许多其他对象。所以简单地“移动结束标记的文本”并不是期望的效果 为什么不把所有你想要的东西都放在你的标签中间呢。。。创建一个新元素,然后用append将“filling”放入其中?大概是这样的: var theF

我正在学习使用

replaceWith('<section>')

我也不能去上班。我想可能与包装有关的不是所有的兄弟姐妹

我不相信jquery会允许这种行为,因为这实际上允许您使标记无效

处理dom—它将这些标记组视为“节点”。它们被分组为具有属性和值的对象以及依赖于它们的许多其他对象。所以简单地“移动结束标记的文本”并不是期望的效果

为什么不把所有你想要的东西都放在你的标签中间呢。。。创建一个新元素,然后用append将“filling”放入其中?大概是这样的:

var theFilling = $('ul#theFilling'),
    theCookieCrust = document.createElement('section');

$(theFilling).appendTo($(theCookieCrust));

$('ul#theFilling').remove();

$(theCookieCrust).appendTo('body');

wrapAll
可能是正确的解决方案。您可以发布一个JSFIDLE来演示您的问题吗?DOM就是这样工作的。这就是为什么会有wrap和wrapAll方法,在调用这些函数之前,请确保查询返回预期的集合。这最终起到了作用:示例HTML更接近于所满足的实际DOM树。
<section></section>
replaceWith('</section>')
wrapAll() 
var theFilling = $('ul#theFilling'),
    theCookieCrust = document.createElement('section');

$(theFilling).appendTo($(theCookieCrust));

$('ul#theFilling').remove();

$(theCookieCrust).appendTo('body');