在给定文本修饰标记的情况下从HTML元素中删除特定单词

时间:2017-05-15 10:43:00

标签: javascript html dom contenteditable

我有一个contenteditable元素,其中一些文本用<b><i>标签装饰。我试图找到从中删除最后一个单词而不影响装饰的最佳方法。 我不能简单地删除最后一个子节点中的最后一个单词,因为一个单词可以包含在多个<b><i>标记中。

例如(必须删除“internet。”一词):

<div>Build the best reference material for developer tools <i>on the inter<b>net</b></i>.</div>

对于这种情况,可能会有一些或多或少的优雅和原生的解决方案。

1 个答案:

答案 0 :(得分:0)

以下示例代码可帮助您实现所需目标。而不是使用HTML,使用文本,这将解决问题。

&#13;
&#13;
var text = $("#sometext").text();
text = text.split(" ");
text.pop();  //remove last element

$(".output").html(text.join(" "));
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="sometext">Build the best reference material for developer tools <i>on the inter<b>net</b></i>.</div>

<div class="output"></div>
&#13;
&#13;
&#13;