我正在做一个项目,我需要在 iframe 中获取选定的文本 选定的文本本身可以跨越 iframe 内的多个跨度我不需要获取文本本身,但我需要知道文本交叉的跨度,所有span 的 id 从 1~ 到页面末尾,所以它们都可以通过 id 属性访问,我只需要获取所选文本交叉的 span 的所有 id,我环顾了谷歌,但似乎没有找到某人有同样的问题
问问题
193 次
1 回答
0
这是获取范围内的节点的答案,该范围适用于除 IE < 9 之外的所有主要浏览器,但您需要自己获取所选范围:
https://stackoverflow.com/a/7931003
对于跨浏览器解决方案,您可以按如下方式使用我的Rangyiframe
库,假设您在名为的变量中引用了 iframe :
var sel = rangy.getIframeSelection(iframe);
if (sel.rangeCount > 0) {
var range = sel.getRangeAt(0);
var spans = range.getNodes([1], function(element) {
return element.tagName.toLowerCase() == "span";
});
// spans is now an array of selected or partially selected <span>
// elements. Spans inside other spans are not included.
}
于 2012-05-12T10:30:10.780 回答