我正在使用document.getSelection()
来选择一些文字。我想知道所选范围包含的元素类型(我特别想知道它是否是锚标记)。
var selection = document.getSelection();
var range = selection.getRangeAt(0);
所以我可以得到范围,但我怎么知道该范围内的元素是什么?很高兴使用普通的js或jQuery。
修改
以下是我提出的建议:
var updateLink = function(url) {
var selection = document.getSelection();
var range = selection.getRangeAt(0);
if (range != 0) {
var containerElement = range.commonAncestorContainer;
if (containerElement.nodeType != 1) {
containerElement = containerElement.parentNode;
var e = $(containerElement);
e.attr('href', url);
}
}
}//end
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以使用cloneContents()
方法:
$(document).mouseup(function(){
var range = window.getSelection().getRangeAt(0),
selectionContents = range.cloneContents();
alert($(selectionContents.childNodes).filter('a').length);
});