javascript - 获取所选文本javascript的跨度标签名称

标签 javascript html rangy

如何获取选中文本的跨度名称:

 <Span class='class1'> text2 text3 text4 text5 </span> text6

当用户选择 text4 然后我想得到 Span=Class1

任何答案都有帮助(在 Jquery 或 Rangy 或...)

最佳答案

这是一个可能有帮助的功能:

function getSelectionParentElement() {
    var parentEl = null, sel;
    if (window.getSelection) {
        sel = window.getSelection();
        if (sel.rangeCount) {
            parentEl = sel.getRangeAt(0).commonAncestorContainer;
            if (parentEl.nodeType != 1) {
                parentEl = parentEl.parentNode;
            }
        }
    } else if ( (sel = document.selection) && sel.type != "Control") {
        parentEl = sel.createRange().parentElement();
    }
    return parentEl;
}

取自这里Get parent element of a selected text , 作者:蒂姆唐

关于javascript - 获取所选文本javascript的跨度标签名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31022994/

相关文章:

javascript - 为什么这个字符串属性有效?

javascript - Contenteditable DIV - 如何确定光标是在内容的开头还是结尾

javascript - 如果鼠标悬停在 X 上,jQuery/Javascript 图片库会更改图片,但如果小于 X,则不会

javascript - Odoo 9. 如何覆盖表单小部件?

javascript - 脚本/链接标签与 AJAX 加载

javascript - 使用 JavaScript 将 null 替换为字符串

javascript - Rangy 替换父级

javascript - Rangy:如何使用动态 elementProperties 创建CssClassApplier

javascript - pic在 Canvas 上随机画圆函数

html - 图像定位响应式设计