我有一个 DOM 对象,例如带有任何孩子的 div。我需要将它正确地细分为两部分:标记元素之前和之后。例子:
<div>
<p>para 1</p>
<a href="#">Some text here
<b>Bold<em>Italic <span id="marker"></span> </em> any other text</b>
<p>Cool para 2</p>
</a>
<span>Bla-bla</span>
</div>
结果应该是这样的:
<div>
<p>para 1</p>
<a href="#">Some text here
<b>Bold<em>Italic</em></b>
</a>
</div>
<span id="marker"></span>
<div>
<a href="#">
<b><em>text</em> any other text</b>
<p>Cool para 2</p>
</a>
<span>Bla-bla</span>
</div>
如您所见,所有标签都正确关闭,正确链接等。我看到的方式是克隆 DOM 节点,在第一个节点及其克隆之间插入标记,删除第一个节点中的右元素和克隆节点中的左元素。但是怎么做我不知道。所以我需要一个纯 JS 或 JQuery 中的示例或函数。