Javascript JQuery如何获取所选文本交叉的元素?
我正在做一个项目,我需要在iframe中获取所选文本所选文本本身可以在iframe中跨越多个跨距我不需要获取文本本身,但我需要知道文本跨越了哪些跨距,所有跨距都有从1到页面结束的id,因此可以通过id属性访问所有跨距。我需要的是获取所选文本跨距的所有id,我在谷歌搜索过,但似乎没有发现有人有同样的问题,这里有一个答案,可以让节点位于除IE<9之外的所有主要浏览器都能使用的范围内,尽管您需要自己获取所选范围: 对于跨浏览器解决方案,假设在名为Javascript JQuery如何获取所选文本交叉的元素?,javascript,jquery,Javascript,Jquery,我正在做一个项目,我需要在iframe中获取所选文本所选文本本身可以在iframe中跨越多个跨距我不需要获取文本本身,但我需要知道文本跨越了哪些跨距,所有跨距都有从1到页面结束的id,因此可以通过id属性访问所有跨距。我需要的是获取所选文本跨距的所有id,我在谷歌搜索过,但似乎没有发现有人有同样的问题,这里有一个答案,可以让节点位于除IE0){ var范围=选择范围(0); var span=range.getNodes([1],函数(元素){ 返回元素.tagName.toLowerCase(
iframe
的变量中有对iframe的引用,则可以按如下方式使用my library:
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.
}
var sel=rangy.getIframeSelection(iframe);
如果(选择范围计数>0){
var范围=选择范围(0);
var span=range.getNodes([1],函数(元素){
返回元素.tagName.toLowerCase()=“span”;
});
//“跨距”现在是选定或部分选定对象的数组
//图元。不包括其他跨距内的跨距。
}
这不是答案,所以我要说:跨浏览器获取选择是一件痛苦的事情,建议使用Tim Down这样的库。我可以使用javascript window.getSelection获取选择本身,但它只获取所选文本,如果我可以得到所选的文本,包括html本身,我的问题就会得到解决,因为我可以解析结果来检测开始标记并从中获取ID,但我仍然在研究您使用什么样的ITJS代码来获取内容?