【问题标题】:How to unwrap text from a span in text block?如何从文本块中的跨度展开文本?
【发布时间】:2013-03-25 16:48:13
【问题描述】:

所以我有很大的<div> 块,里面有文字。 并且用户双击的单词包含在<span>元素中 如何删除该 span 元素并将单词返回到它的正常位置,没有 span 包装它,所以整个文本将返回到起始位置?

编辑: 对不起我的缺席。 这是双击功能的代码 它包装了 div,用户在跨度中双击,然后将类添加到该跨度。 看起来像那样!

function onDoubleClick(){
    var selection=window.getSelection().getRangeAt(0);
    var selectedText=selection.extractContents();
    var span=document.createElement("span");
    epic.get(span).addClass('highlightedText');
    span.appendChild(selectedText);
    selection.insertNode(span);
}

【问题讨论】:

  • 请输入代码?目前还不清楚你的目标是什么。
  • 用代码和截图更新了主题

标签: javascript


【解决方案1】:

这可能是你想要的,但我期待 cmets 中的邪恶“HTML 中的正则表达式”链接:P。这也取决于<div> 是否只有文本和跨度,或者还有许多其他(子)子 Dom 节点。

var html = $('#myDiv').html();
var new_html = html.replace(new RegExp('<span>[uU]ser</span>','gm'),'user');
$('#myDiv').html(new_html);

如果您更新问题,我可以为您提供更准确的答案,以缩小 RegEx 可能发生的冲突。

【讨论】:

  • 这将删除所有存在于#myDiv 中的绑定。可能并不理想
猜你喜欢
  • 2020-04-20
  • 2016-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多