我可以查询(在jQuery意义上)DOM元素 - 不只是文本节点 - 由鼠标完全选择?
答案 0 :(得分:2)
这将为您提供完全选中的所有元素:
var currentSelection = window.getSelection();
var firstRangeInSelection = currentSelection.getRangeAt(0);
var commonAncestor = firstRangeInSelection.commonAncestorContainer;
var nodesInSelection = $(commonAncestor).find("*").filter(function() {
return currentSelection.containsNode(this, false);
});
有关DOM选择的更多信息,请查看this page。
答案 1 :(得分:1)
您可以根据以下问题调整我的答案,以返回一个jQuery对象而不是数组,这应该很简单:
JS: Get array of all selected nodes in contentEditable div
但是,这不适用于IE< 9,它不支持与其他浏览器相同的Selection
对象。为此,你需要另一种方法。有答案中提到的我自己的Rangy库,但是如果你需要IE< 9没有图书馆的支持然后我可以把一起敲门。