DOM范围



  • DOM中的范围

    startContainer

    startOffset

    endContainer

    endOffset

    使用DOM实现简单选择
    • selectNode()
    • selectNodeContents()
    • setStartBefore()
    • setStartAfter()
    • setEndBefore()
    • setEndAfter()
    使用DOM实现复杂选择
    • setStart(refNode, offset)

      refNode会变成startContainer

    • setEnd(refNode, offset)

      refNode会变成endContainer

    操作DOM范围中的内容
    • deleteContents()

    • extractContents()

      从文档移除范围选区

      返回值:范围的文档片段(DocumentFragment)

    • cloneContents()

    插入DOM范围中的内容
    • insertNode()

    • surroundContents()

      环绕范围插入内容

    折叠DOM范围

    collpase()

    参数:

    • true:折叠到范围起点
    • false:折叠刀范围终点
    比较DOM范围

    compareBoundaryPoints(比较方式常量值,比较范围)

    比较方式常量值

    • Range.START_TO_START(0)
    • Range.START_TO_END(1)
    • Range.END_TO_END(2)
    • Range.END_TO_START(3)

    返回值:

    ​ 第一个范围中的点在第二个范围中的点

    • 之前:-1
    • 相等:0
    • 之后:1
    复制DOM范围

    cloneRange()

    清理DOM范围

    detach()

    使用完范围后最好调用该方法,以便从文档中分离出该范围

    之后就可以放心地解除对范围的引用,让垃圾回收机制回收其内存

    range.detach();
    range = null;
    

 

Copyright © 2018 bbs.dian.org.cn All rights reserved.

与 Dian 的连接断开,我们正在尝试重连,请耐心等待