javascript - 如何在保留 span 标记的同时在 contenteditable div 中的 pre-span-wrap 文本中键入和删除文本

标签 javascript jquery html css

有谁知道如何在内容可编辑的 div 中的预跨度包装文本中插入和删除文本,同时保持 <span id="x">标签?

  1. 在内容可编辑的div中,如果删除“kachu”,<span id="2">也会被删除。即使没有文字,我也希望那个特定的标签仍然存在。 <span id="2></span>

  2. 在内容可编辑的 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/

相关文章:

javascript - 使用 localStorage 隐藏我的工具提示,但在我的脚本中

javascript - 如何更正此 jquery 追加

javascript - 实现通用的ajax方法

javascript - 是什么导致了这个范围内的polyfill出现这种奇怪的行为?

javascript - 在网页中创建交互式 map

html - 完美居中带有边框和框大小的元素内容

html - CSS3 背景 : repeating-linear-gradient

javascript - jQuery - 为每个对象创建新的 div?

javascript - Angular Checkbutton 行为错误

javascript - 将简单数组传递给 Java Spring