📅  最后修改于: 2023-12-03 15:31:10.691000             🧑  作者: Mango
HTML DOM(文档对象模型)是一种用于访问和操作 HTML 页面的标准方法。其中,位置对象(Position
)是 DOM 中的一个接口,它表示一个在文本节点中的位置,用于定位和操作选区或光标。
const position = new Position(containerNode, offset);
其中,containerNode
是一个文本节点(Text
或 CDATASection
),指定了这个位置所在的文本节点,offset
是一个数字,指定了这个位置在文本节点内的偏移量。
位置对象有以下属性:
offsetNode
: 返回当前在哪个节点内。返回的是一个 DOM 节点对象。offset
: 返回当前在节点内的偏移量。const offsetNode = position.offsetNode;
const offset = position.offset;
位置对象的 setPosition()
方法可以修改它的值。
position.setPosition(containerNode, offset);
其中,containerNode
和 offset
参数同创建时的参数。
位置对象通常用于以下操作:
例如,获取选区范围内的文本:
const selection = window.getSelection();
if (selection.rangeCount > 0) {
const range = selection.getRangeAt(0);
const start = new Position(range.startContainer, range.startOffset);
const end = new Position(range.endContainer, range.endOffset);
const text = range.toString();
}
以上代码中,先获取选区 selection
的 range
对象,然后分别创建起始位置 start
和结束位置 end
,最后通过 range
获取选区内的文本 text
。