Javascript 在插入符号位置插入TML而不创建对象

Javascript 在插入符号位置插入TML而不创建对象,javascript,html,contenteditable,caret,inserthtml,Javascript,Html,Contenteditable,Caret,Inserthtml,我有contenteditable div和span,其中包含文本 <div contenteditable="true"><span> Some text.. </span></div> 一些文本。。 我需要插入插入符号来代替插入符号的关闭和打开跨距标记。比如: <div contenteditable="true"><span> Some </span><span> text.. </s

我有contenteditable div和span,其中包含文本

<div contenteditable="true"><span> Some text.. </span></div>
一些文本。。
我需要插入插入符号来代替插入符号的关闭和打开跨距标记。比如:

<div contenteditable="true"><span> Some </span><span> text.. </span></div>
一些文本。。
我试图通过插入TML来实现:

document.execCommand('insertHTML', false, '</span><span>');
document.execCommand('insertHTML',false',);
它在Crome中工作,但Firefox在此处生成span对象和insert(插入有效的html)。结果是:

<div contenteditable="true"><span> Some <span></span> text.. </span></div>
一些文本。。

有人知道如何在contenteditable div中拆分span标记吗?提前感谢

您可以使用innerHTML属性插入任何HTML代码,下面是一个使用javascript的示例:

document.getElementById("myDiv").innerHTML = "<span>Here is the new Content!</span>";
document.getElementById(“myDiv”).innerHTML=“这是新内容!”;

并给您的div指定
id=“myDiv”

所以,您真正想要的是将每个单词分隔成它自己的
标记?您可以使用jQuery之类的第三方库吗?@TomasLycken,Ohhh。我不想把每个单词分成
标记。这正是我所需要的:但它在firefox中不起作用。我需要让插入符号保持在原来的位置。在本例中,插入符号跳到end@VasyaShmarovoz我真的不明白你的意思,但你也可以给span元素一个id,并在span中插入带有innerHtml的文本,如果这是你想要的?@vasyahmarovoz,事实上,这还不够清楚,但您只需要在最初添加内容的地方放置一个空div,然后使用innerHTML填充它。@chsdk,我如何在有插入符号的地方划分跨距?@vashyashmarovoz,要划分跨距,请使用,但获取插入符号位置是一件大事。看看这里,有一些问题:和。