【发布时间】:2016-04-15 17:24:31
【问题描述】:
我有一个内容可编辑的 p 标签。当 p 标签的内容被提取并插入到另一个标签中时,原始的所有标记都丢失了。有什么方法可以保存标记吗?
请注意,如果 插入符号在段落中的第 i 个 位置,则 字符将从该位置开始提取到结尾。
function select() {
var el = document.getElementById('p');
el.focus();
var sel = window.getSelection();
var selRange = sel.getRangeAt(0);
var range = selRange.cloneRange();
range.selectNodeContents(el);
range.setStart(selRange.endContainer, selRange.endOffset);
document.getElementById('other').innerHTML = (range.extractContents().textContent);
// return range.extractContents().textContent;
}
p {
background-color: #eee;
}
.red {
color: red;
}
<p id="p" contenteditable="true">This is <i>a</i> <span class="red">paragraph</span> <b>with</b> lots of markup.</p>
<p id="other"></p>
<button onclick="select()">SELECT</button>
【问题讨论】:
标签: javascript html css contenteditable