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 相关文章推荐
js生成随机数之random函数随机示例
Dec 20 Javascript
jQuery晃动层特效实现方法
Mar 09 Javascript
javascript实现下班倒计时效果的方法(可桌面通知)
Jul 10 Javascript
jQuery实现列表内容的动态载入特效
Aug 08 Javascript
微信通过页面(H5)直接打开本地app的解决方法
Sep 09 Javascript
AngularJS实现的获取焦点及失去焦点时的表单验证功能示例
Oct 25 Javascript
jQuery实现的简单图片轮播效果完整示例
Feb 08 jQuery
Vue中props的使用详解
Jun 15 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
Aug 25 Javascript
vue.js使用v-model实现表单元素(input) 双向数据绑定功能示例
Mar 08 Javascript
vue component 中引入less文件报错 Module build failed
Apr 17 Javascript
vue cli4中mockjs在dev环境和build环境的配置详情
Apr 06 Vue.js
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编程开发“虚拟域名”系统
2006/10/09 PHP
php中通过smtp发邮件的类,测试通过
2007/01/22 PHP
php使浏览器直接下载pdf文件的方法
2013/11/15 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
2015/03/25 PHP
php生成PDF格式文件并且加密
2015/06/22 PHP
PHP微信开发之查询微信精选文章
2016/06/23 PHP
PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例
2019/03/01 PHP
javascript 树控件 比较好用
2009/06/11 Javascript
javascript学习笔记(五)原型和原型链详解
2014/10/08 Javascript
JS获取文件大小方法小结
2015/12/08 Javascript
canvas 画布在主流浏览器中的尺寸限制详细介绍
2016/12/15 Javascript
nodejs 图解express+supervisor+ejs的用法(推荐)
2017/09/08 NodeJs
webpack中CommonsChunkPlugin详细教程(小结)
2017/11/09 Javascript
Django与Vue语法的冲突问题完美解决方法
2017/12/14 Javascript
在react中使用vuex的示例代码
2018/07/30 Javascript
微信小程序云开发获取文件夹下所有文件(推荐)
2019/11/14 Javascript
webpack优化之代码分割与公共代码提取详解
2019/11/22 Javascript
vue props 单项数据流实例分享
2020/02/16 Javascript
JS前端广告拦截实现原理解析
2020/02/17 Javascript
uni-app如何页面传参数的几种方法总结
2020/04/28 Javascript
[01:15:36]加油刀塔第二期网络版
2014/08/09 DOTA
python 寻找优化使成本函数最小的最优解的方法
2017/12/28 Python
Python机器学习之K-Means聚类实现详解
2018/02/22 Python
搞清楚 Python traceback的具体使用方法
2019/05/13 Python
python tkinter窗口最大化的实现
2019/07/15 Python
Python中list循环遍历删除数据的正确方法
2019/09/02 Python
Python实现电视里的5毛特效实例代码详解
2020/05/15 Python
自学python用什么系统好
2020/06/23 Python
canvas绘制圆角头像的实现方法
2019/01/17 HTML / CSS
JD Sports意大利:英国篮球和运动时尚的领导者
2017/10/29 全球购物
骨干教师培训制度
2014/01/13 职场文书
2015年国际护士节演讲稿
2015/03/18 职场文书
css display table 自适应高度、宽度问题的解决
2021/05/07 HTML / CSS
Python jiaba库的使用详解
2021/11/23 Python
Oracle使用别名的好处
2022/04/19 Oracle
vue中data里面的数据相互使用方式
2022/06/05 Vue.js