HTML5学习笔记9-编辑API之Range对象(二)
2017-01-10 15:24
453 查看
1、cloneRange、cloneContents、extractContents方法
<p id="pid">这里随意书写</p> <button onclick="cloneRange()">克隆</button> <script> function cloneRange(){ var p=document.getElementById("pid"); var rangeObj=document.createRange(); rangeObj.selectNodeContents(p); alert(rangeObj.toString()); } </script>
<script> function cloneContent(){ var div=document.getElementById("mydiv"); var rangeObj=document.createRange(); rangeObj.selectNodeContents(div); var docRangeMent=rangeObj.cloneContents(); div.appendChild(docRangeMent); } </script> <div id="mydiv"> Hello? <br> <button onclick="cloneContent()">克隆</button> <br> </div>
<div id="srcdiv" style="background-color: darkred;width: 300px;height: 50px">I'm here.</div> <div id="distdiv" style="background-color: bisque;width: 300px;height: 50px"></div> <button onclick="moveContent()">移动元素</button> <script> function moveContent(){ var srcdiv=document.getElementById("srcdiv"); var distdiv=document.getElementById("distdiv"); var rangeObj=document.createRange(); rangeObj.selectNodeContents(srcdiv); var docRangement=rangeObj.extractContents(); distdiv.appendChild(docRangement); } </script>
2、insertNode、compareBoundaryPoints方法
<div onmouseup="moveButton()" style="background-color: bisque;width: 400px"> 随意书写的内容随意书写的内容随意书写的内容 </div> <button id="button">按钮</button> <script> function moveButton(){ var btn=document.getElementById("button"); var selection=document.getSelection(); if(selection.rangeCount>0){ var range=selection.getRangeAt(0); range.insertNode(btn); } } </script>
随意文字随意文字<b id="bid">随意</b>文字随意文字随意文字<br> <button onclick="comparePos()">位置比较</button> <script> function comparePos(){ var boldtext=document.getElementById("bid"); var boldRange=document.createRange(); boldRange.selectNodeContents(boldtext.firstChild); var selection=document.getSelection(); if(selection.rangeCount>0){ var selRange=selection.getRangeAt(0); if(selRange.compareBoundaryPoints(Range.START_TO_END,boldRange)<=0){ alert("你选取了粗体前的文字"); }else{ if(selRange.compareBoundaryPoints(Range.END_TO_START,boldRange)>=0){ alert("你选择了粗体后的文字"); } } } } </script>
3、collapse、detach方法
<div id="div" style="background-color: bisque;width: 300px;height: 50px"> 随意文字随意文字随意文字随意文字 </div> <button onclick="selectRangeContents()">选择元素</button> <button onclick="unSelect()">取消元素</button> <button onclick="showRange()">显示Range内容</button> <script> var rangeObj=document.createRange(); function selectRangeContents(){ var div=document.getElementById("div"); rangeObj.selectNode(div); } function unSelect(){ rangeObj.collapse(false); } function showRange(){ alert(rangeObj.toString()); } </script>
var rangeObj=document.createRange(); rangeObj.detach();
相关文章推荐
- HTML5学习笔记之History API
- HTML5 页面编辑API之Range对象
- HTML5学习笔记简明版(11):新增的API
- HTML5 拖拽API 学习笔记
- HTML5权威指南--标签新变化,文件API,拖放API(简要学习笔记一)
- WEB前端之HTML5[6]~HTML5编辑API之Range对象
- HTML5学习笔记之History API
- html5 学习笔记 API canvas1 绘制对角线
- HTML5权威指南--Web Storage,本地数据库,本地缓存API,Web Sockets API,Geolocation API(简要学习笔记二)
- html5 编辑API之range对象(一)
- html5 编辑API之range对象(二)
- HTML5学习笔记简明版(11):新增的API
- HTML5编辑API之Range对象
- HTML5 页面编辑API之Range对象二
- HTML5学习笔记简明版(11):新API
- HTML5学习笔记简明版(11):新增的API
- HTML5新增API学习笔记(二)本地程序缓存
- HTML5编辑API之Range对象
- extjs学习笔记(五)可编辑的grid
- 学习笔记 -- 进程控制 API