有谁知道如何在内容可编辑的 div 中的预跨度包装文本中插入和删除文本,同时保持 <span id="x">
标签?
在内容可编辑的div中,如果删除“kachu”,
<span id="2">
也会被删除。即使没有文字,我也希望那个特定的标签仍然存在。<span id="2></span>
在内容可编辑的 div 中,如果在“kachu”之前输入“pi”来制作“pikachu”,
<span id="2">
不会包装“pi”。我要<span id="2">pikachu</span>
HTML
<div id="inputbox" style="border:1px solid lightgrey" contenteditable="true">
<span id="1">love</span> <span id="1">kachu</span>
</div>
最佳答案
这会将包含 'kachu' 的 span 的内容更改为空字符串,但是找到之后的 span 会有点困难,因为它与另一个 span 具有相同的 id。
$('#inputbox').find('span:contains("kachu")').html( '' );
删除“kachu”后,要找到空跨度,您可以执行相同的操作,但将 contains("kachu")
更改为 contains("")
您应该考虑为您的跨度使用不同的 ID。如果您确实希望第二个跨度具有 id="2"
,这可能是:$('#inputbox').find('#2').html( '' )
或只是 $('#2').html( '' )
关于javascript - 如何在保留 span 标记的同时在 contenteditable div 中的 pre-span-wrap 文本中键入和删除文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36673857/