note:cloneContents、extractContents、cloneRange()

cloneRange() 创建一个新的range对象,表示与当前的range对象想通的文档区域。

range对象的cloneRange()方法是用于当前的range对象进行复制,该方法返回当前range的对象

语法:cloneRange()

<script>
   function cloneRange(){
      var rangeObj = document.createRange();
      rangeObj.selectNodeContents(document.getElementById("myText"));
      var cloneRange = rangeObj.cloneRange();
      alert(cloneRange.toString());
}
</script>

<p id="myText">Hello World </p>
<input type="button" value="cloneRange" οnclick="cloneRange()">
cloneContents() 返回新的DocumentFragment对象,它包含该范围表示的文档区域的副本。

range对象的cloneContents()方法用于在页面追加一段HTML代码,并且将range对象所代表的区域中的HTML代码克隆到追加到的代码之后

语法:extractContents()

<script>
    function cloneRange(){
       var div = document.getElementById("div");
       var rangeObj = document.createRange();
       rangeObj.selectNodeContents(div);
       var docFrame = rangeObj.cloneContents();
       div.appendChild(docFrame); //appendChild()方法可向节点的子节点列表的末尾添加新的子节点
}
</script>

<div id="div">Hello World! </div>
<input type="button" value="clone" οnclick="cloneRange()">
extractContents()删除当前范围表示的文档区域,并且以documentFragment对象的形式返回那个区域的内容。该方法和cloneContents()方法与deleteContents()方法的组合和相似。

 range对象的extractContents()是用于range对象所代表区域中的html代码克隆岛documentFragment中

<script>
    function moveContent(){
       var srcDiv = document.getElementById("srcDiv");
       var discDiv = document.getElementById("discDiv");
       var rangeObj = document.createRange();
       rangeObj.selectNodeContents(srcDiv);
       var docFragment = rangeObj.extractContents();
       discDiv.appendChild(docFragment);
} 
</script>

<div id="srcDiv" style="background:#CCff33; width:100px; height: 50px;">hello world! </div>
<div id="discDiv" style="background:#00CCFF; width:100px; height:50px;"></div>
<input type="button" value="move element" οnclick="moveContent()">


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值