在 Javascript 中,我想确定一个元素是否A
元素,存在于给定范围/文本范围内。目的是确定用户当前的选择是否包含链接。我正在构建一个富文本编辑器控件。
range 对象具有 commonAncestorContainer (W3C) 或parentElement() (Microsoft) 方法,该方法返回范围中所有元素的最接近的公共祖先。然而,在这个元素内部寻找A
元素将不起作用,因为这个共同祖先还可能包含不在范围内的元素,因为范围可以通过父级开始或结束。
你将如何实现这一目标?
Selection.containsNode 怎么样?https://developer.mozilla.org/en/DOM/Selection/containsNode
就像是:
var selection = window.getSelection();
var range = selection.getRangeAt(0);
var result = $('a', range.commonAncestorContainer).filter(function() {
return selection.containsNode(this);
});
console.log(result);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)