作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在使用 rangy库,并且可以选择内容中的文本,如下所示:
var sel = rangy.getSelection();
alert(sel);
我不知道如何获取选定的文本父节点/元素。例如,如果我选择的文本是
<strong>My Text</strong>
or
<h1>My Title</h1>
我怎样才能同时包含强节点或 H1 元素?
最佳答案
sel.anchorNode.parentNode
将为您提供仅包含选择的一端的节点的父节点。要获取整个选择的最内层包含元素,最简单的方法是从选择中获取一个范围并查看其 commonAncestorContainer
属性(它可能是一个文本节点,在这种情况下您需要获取它的父级):
var sel = rangy.getSelection();
if (sel.rangeCount > 0) {
var range = sel.getRangeAt(0);
var parentElement = range.commonAncestorContainer;
if (parentElement.nodeType == 3) {
parentElement = parentElement.parentNode;
}
}
关于javascript - 使用 rangy 库获取所选文本的父节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10560155/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!