我有以下功能来添加带有选定文本的跨度标签。
function Add() {
var selObj = window.getSelection();
var selRange = selObj.getRangeAt(0);
var newElement = document.createElement("span");
newElement.setAttribute("class", "cls1");
var documentFragment = selRange.extractContents();
newElement.appendChild(documentFragment);
selRange.insertNode(newElement);
selObj.removeAllRanges();
}
它工作正常。但我想防止在另一个跨度中添加新的跨度。
<a href="#" onclick="Add()">Add Span</a>
<div id="content">
Lorem ipsum dolor sit amet, <span class="cls1">consectetur adipisicing</span> elit,
</div>
如果用户选择“adipisicing elit”,我不想创建一个新跨度,因为“adipisicing”在另一个跨度内。那么我如何知道所选文本是否包含其他跨度的任何部分?
谢谢。