XML DOM - Range Object

Range 对象表示文档中的连续范围,如用户在浏览器窗口中用鼠标拖动选中的区域。

如果一个实现支持Range模块,那么Document对象就定义了了createRange(),调用它可以创建新的Range对象。

*IE定义了不兼容的Document.createRange()方法,它返回的对象与Range相似,但不兼容。

Range接口为指定文档“选中”的区域定义了大量的方法,此外还有几个方法可以用于在选中的区域进行剪切和黏贴类型的操作。

Range接口的属性提供了获取范围的边界节点和偏移量的方法。它的方法提供了设置范围边界的方法。注意,范围的边界可以设置为Document或DocumentFragment对象中的节点。一旦定义了范围的边界点,就可以使用deleContents()、extractContents()、cloneContents()和insertNode()方法实现剪切、复制和黏贴等操作。


Range对象的常量

这些常量指定了如何比较Range对象的边界点


Range对象的属性

*所有属性都是只读,不能通过设置这些属性改变范围开始点和结束点,必须调用setEnd()方法和setStart()方法实现这一点。

*调用detach()方法后,这些属性的任何操作都会跑出代码为INVALID_START_ERR的DOMException异常


Range对象演示示例

<script>
  function rangeTest(){
      var html;
      showRangeDiv = document.getElementById("showRange");
      selection = document.getSelection();
      if(selection.rangeCount > 0){
          html = "您选取了>"+selection.rangeCount + "<内容<br/>";
          for(var i = 0; i<selection.rangeCount; i++){
             var range = selection.getRangeAt(i);
             html += "第" + (i+1)+"段内容:"+range+"<br/>"
         }
        showRangeDiv.innerHTML = html;
   }
}
</script>
Selection 对象与Range对象的使用
<input type="button" value="button" οnclick="rangeTest()">
<div id="showRange"></div>
*Selection.rangeCount

The Selection.rangeCount read-only property returns the number of ranges in the selection.

Before the user has clicked a freshly loaded page, the rangeCount is 0.After the user clicks on the page, rangeCount is 1,even if no selection is visible. 


*SelectNode

*SelectNodeContents

*deleteContents


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值