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 相关文章推荐
在网页中控制wmplayer播放器
Jul 01 Javascript
使用Node.js实现一个简单的FastCGI服务器实例
Jun 09 Javascript
前端轻量级MVC框架CanJS详解
Sep 26 Javascript
jQuery实现按钮点击遮罩加载及处理完后恢复的效果
Jun 07 Javascript
自己封装的一个原生JS拖动方法(推荐)
Nov 22 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(上)
Apr 21 Javascript
详解如何使用Node.js编写命令工具——以vue-cli为例
Jun 29 Javascript
微信小程序点击控件修改样式实例详解
Jul 07 Javascript
angular之ng-template模板加载
Nov 09 Javascript
Node.js EventEmmitter事件监听器用法实例分析
Jan 07 Javascript
Vue+iview+webpack ie浏览器兼容简单处理
Sep 20 Javascript
如何在Express4.x中愉快地使用async的方法
Nov 18 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面向对象全攻略 (三)特殊的引用“$this”的使用
2009/09/30 PHP
php修改时间格式的代码
2011/05/29 PHP
PHP 之 写时复制介绍(Copy On Write)
2014/05/13 PHP
PHP实现远程下载文件到本地
2015/05/17 PHP
PHP设置头信息及取得返回头信息的方法
2016/01/25 PHP
php curl中gzip的压缩性能测试实例分析
2016/11/08 PHP
extjs 为某个事件设置拦截器
2010/01/15 Javascript
超级酷和最实用的jQuery实例收集(20个)
2010/04/21 Javascript
jQuery制作简洁的多级联动Select下拉框
2014/12/23 Javascript
NodeJS学习笔记之MongoDB模块
2015/01/13 NodeJs
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
2015/11/13 Javascript
Agularjs妙用双向数据绑定实现手风琴效果
2017/05/26 Javascript
利用jsonp与代理服务器方案解决跨域问题
2017/09/14 Javascript
JS实现将二维数组转为json格式字符串操作示例
2018/07/12 Javascript
[02:43]DOTA2英雄基础教程 半人马战行者
2014/01/13 DOTA
玩转python爬虫之URLError异常处理
2016/02/17 Python
Linux中Python 环境软件包安装步骤
2016/03/31 Python
python基础教程之Filter使用方法
2017/01/17 Python
浅谈python内置变量-reversed(seq)
2017/06/21 Python
python抽取指定url页面的title方法
2018/05/11 Python
TensorFlow实现简单卷积神经网络
2018/05/24 Python
selenium + python 获取table数据的示例讲解
2018/10/13 Python
python实现合并两个排序的链表
2019/03/03 Python
python的pstuil模块使用方法总结
2019/07/26 Python
From CSV to SQLite3 by python 导入csv到sqlite实例
2020/02/14 Python
物流管理应届生求职信
2013/11/07 职场文书
安全检查验收制度
2014/01/12 职场文书
学年末自我鉴定
2014/01/21 职场文书
计算机专业毕业生自荐信范文
2014/03/06 职场文书
装修协议书范本
2014/04/21 职场文书
大学生感恩父母演讲稿
2014/08/28 职场文书
大一新生期末自我评价
2014/09/12 职场文书
幼儿教师个人总结
2015/02/05 职场文书
2016公司中秋节寄语
2015/12/07 职场文书
2019年度政务公开考核工作总结模板
2019/11/11 职场文书
Golang 空map和未初始化map的注意事项说明
2021/04/29 Golang