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

时间:2013-10-22 21:17:44

标签: javascript jquery dom-manipulation

我正在学习使用

replaceWith('<section>')

after('<section>')

实际上会在每种情况下插入完整元素:

<section></section>

使用结束标签时

replaceWith('</section>')

此类调用似乎被忽略了。

是否有某种方法可以禁用此行为?我需要在DOM中的某一点插入一个开始标记,然后在另一点插入一个结束标记。

wrapAll() 

我也无法上班。我想可能与被包裹的东西有关的并不是所有的兄弟姐妹......

1 个答案:

答案 0 :(得分:0)

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

处理dom - 它将这些标签组视为“节点”。它们被组合为具有属性和值的对象,并且许多其他对象依赖于它们。所以简单地“移动结束标签的文本”不是一个理想的效果......

为什么不在你的半标签的“中间”抓住你想要的所有东西...创建一个新元素然后将你的“填充”放入其中并附加?像这样的东西:

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

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

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

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