使用 insertAdjacentHTML() 添加部分 HTML

Using insertAdjacentHTML() to add partial HTML

我有一个很长的文本包裹在一个 <p> 标签中。像这样:

<p>
Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod...
</p>

我需要通过使用 javascript 或 jquery 将 </p><p> 插入到文本的某些部分,有效地结束最后一段然后开始一个新的(我已经有一些 javascript 标识我想插入新的 HTML 的位置 - 工作正常)。我一直在使用 insertAdjacentHTML() 添加新的段落标签:

TheElmToInsertNextTo.insertAdjacentHTML('beforebegin','</p><p>');

问题是: 浏览器试图修复我的部分 html 并继续将其包装在额外的 <p> 标签中,如下所示:

<p>
Lorem ipsum dolor
<p></p><p></p>
sit amet consectetur adipiscing elit sed do eiusmod...
</p>

因此:额外的 <p> 标签破坏了我的分页脚本(来自 easyPaginate),否则效果很好。

是否有更好的方法通过添加额外的 <p> 标签在没有浏览器 "fixing" 的情况下插入部分 HTML? (这个问题在 firefox 和 chrome 中都会出现)

感谢@Barmar 指出这不能按照我最初认为的顺序完成。我通过在将数据加载到 DOM.

之前在服务器端预处理数据来修复此问题