JavaScript操作选择对象的简单实例


Posted in Javascript onMay 16, 2016

JavaScript操作选择对象的简单实例

//替换选中文本内容,参数text为要替换的内容
function SetSelectionText(text) {
  //非IE浏览器
  if (window.getSelection) {
    var sel = window.getSelection();
    alert(sel.rangeCount); //选区个数, 通常为 1 .
    sel.deleteFromDocument(); //清除选择的内容
    var r = sel.getRangeAt(0); //即使已经执行了deleteFromDocument(), 这个函数仍然返回一个有效对象.
    var selFrag = r.cloneContents(); //克隆选择的内容
    var frag = selFrag.childNodes; //如果执行了deleteFromDocument(), 这个数组长度将会是 0 
    for (var i = 0; i < frag.length; i++) {
      alert(frag[i].nodeName); //枚举选择的对象
    }
    var h1 = document.createElement('H1'); //生成一个插入对象
    h1.innerHTML = text; //设置这个对象的内容
    r.insertNode(h1); //把对象插入到选区, 这个操作不会替换选择的内容, 而是追加到选区的后面, 所以如果需要普通粘贴的替换效果, 之前执行deleteFromDocument()函数.
  }
  else if (document.selection && document.selection.createRange) {
    //IE浏览器
    var sel = document.selection.createRange(); //获得选区对象
    alert(sel.htmlText); //选择区的html文本.
    sel.pasteHTML('<h1>标题</h1>'); //粘贴到选区的html内容, 会替换选择的内容.
  }
}

以上这篇JavaScript操作选择对象的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
IE FF OPERA都可用的弹出层实现代码
Sep 29 Javascript
jQuery图片轮播滚动切换代码分享
Apr 20 Javascript
jquery组件WebUploader文件上传用法详解
Oct 23 Javascript
Node.JS利用PhantomJs抓取网页入门教程
May 19 Javascript
JavaScript获取tr td 的三种方式全面总结(推荐)
Aug 15 Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
Aug 28 Javascript
vue按需加载组件webpack require.ensure的方法
Dec 13 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
Dec 29 Javascript
VUE接入腾讯验证码功能(滑块验证)备忘
May 07 Javascript
微信小程序发布新版本时自动提示用户更新的方法
Jun 07 Javascript
微信小程序实现单个卡片左滑显示按钮并防止上下滑动干扰功能
Dec 06 Javascript
vue实现简单计算商品价格
Sep 14 Javascript
JS组件Bootstrap实现图片轮播效果
May 16 #Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
May 16 #Javascript
JS获取元素多层嵌套思路详解
May 16 #Javascript
怎么限制input的text里输入的值只能是数字(正则、js)
May 16 #Javascript
BootStrap点击下拉菜单项后显示一个新的输入框实现代码
May 16 #Javascript
在javascript中创建对象的各种模式解析
May 16 #Javascript
Bootstrap3 input输入框插入glyphicon图标的方法
May 16 #Javascript
You might like
PHP连接和操作MySQL数据库基础教程
2014/09/29 PHP
PHP入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
PHP生成图表pChart的示例解析
2020/07/31 PHP
phpwind放自动注册方法
2006/12/02 Javascript
JavaScript中的Array对象使用说明
2011/01/17 Javascript
jQuery去掉字符串起始和结尾的空格(多种方法实现)
2013/04/01 Javascript
使用jQuery异步加载 JavaScript脚本解决方案
2014/04/20 Javascript
使用AngularJS对路由进行安全性处理的方法
2015/06/18 Javascript
jQuery+CSS3实现3D立方体旋转效果
2015/11/10 Javascript
input点击后placeholder中的提示消息消失
2016/01/15 Javascript
JavaScript实现仿淘宝商品购买数量的增减效果
2016/01/22 Javascript
Bootstrap学习笔记之css样式设计(2)
2016/06/07 Javascript
Bootstrap轮播插件简单使用方法介绍
2016/06/21 Javascript
nodejs中向HTTP响应传送进程的输出
2017/03/19 NodeJs
JS实现css hover操作的方法示例
2017/04/07 Javascript
Vue组件之Tooltip的示例代码
2017/10/18 Javascript
vue 属性拦截实现双向绑定的实例代码
2018/10/24 Javascript
微信小程序实现两个页面传值的方法分析
2018/12/11 Javascript
详解微信小程序用定时器实现倒计时效果
2019/04/30 Javascript
基于Vue SEO的四种方案(小结)
2019/07/01 Javascript
layer.open的自适应及居中及子页面标题的修改方法
2019/09/05 Javascript
vue 检测用户上传图片宽高的方法
2020/02/06 Javascript
[01:42:49]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第一场 2月26日
2021/03/11 DOTA
python3中dict(字典)的使用方法示例
2017/03/22 Python
python爬虫_自动获取seebug的poc实例
2017/08/05 Python
TensorFlow 合并/连接数组的方法
2018/07/27 Python
python如何获取当前文件夹下所有文件名详解
2019/01/25 Python
解决python3.5 正常安装 却不能直接使用Tkinter包的问题
2019/02/22 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
2020/06/04 Python
Python截图并保存的具体实例
2021/01/14 Python
html5在移动端的屏幕适应问题示例探讨
2014/06/15 HTML / CSS
英国乡村时尚和宠物用品专家:Pet & Country
2018/07/02 全球购物
个人查摆剖析材料
2014/10/16 职场文书
python3实现无权最短路径的方法
2021/05/12 Python
Win2008系统搭建DHCP服务器
2022/06/25 Servers