如何获取用户所选文本的容器 ID(例如,p 或 div 的 ID)?
我想创建所选文本的列表,用户选择一个文本,然后单击按钮添加到列表中。 当用户单击列表中的文本时,我想突出显示原始选择的位置。 我需要容器的 ID,因为所选文本可能不唯一并且在文档中出现多次。
我得到这样的选定文本Return HTML from a user-selected text
最佳答案
这是一种实现跨浏览器的方法(未经测试)
var getSelectionContainer = function() {
if (document.selection){ // IE
return document.selection.createRange().parentElement();
}
var select = window.getSelection();
if (select.rangeCount > 0) {
return select.getRangeAt(0).startContainer.parentNode;
}
};
Demo
(选择 5 秒前的一些文本,然后在控制台中查看)
链接
关于JavaScript/jQuery : get selected text's container,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17642799/