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 相关文章推荐
Javascript 继承机制的实现
Aug 12 Javascript
Js控制弹窗实现在任意分辨率下居中显示
Aug 01 Javascript
JavaScript的内存释放问题详解
Jan 21 Javascript
jQuery随机密码生成的方法
Mar 09 Javascript
12行javascript代码绘制一个八卦图
Apr 02 Javascript
JS实现alert中显示换行的方法
Dec 17 Javascript
基于jQuery的ajax方法封装
Jul 14 Javascript
angularjs中回车键触发某一事件的方法
Apr 24 Javascript
Angular2.js实现表单验证详解
Jun 23 Javascript
详解html-webpack-plugin用法全解
Jan 22 Javascript
JS如何获取地址栏的参数实例讲解
Oct 06 Javascript
15 分钟掌握vue-next响应式原理
Oct 13 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之第六天
2006/10/09 PHP
PHP面向对象编程快速入门
2006/10/09 PHP
用PHP制作静态网站的模板框架(一)
2006/10/09 PHP
推荐25款php中非常有用的类库
2014/09/29 PHP
PHP文件缓存smarty模板应用实例分析
2016/02/26 PHP
关于ThinkPHP中的异常处理详解
2018/05/11 PHP
在 Laravel 项目中使用 webpack-encore的方法
2019/07/21 PHP
PHP MVC框架中类的自动加载机制实例分析
2019/09/18 PHP
动态加载js的几种方法
2006/10/23 Javascript
ExtJS扩展 垂直tabLayout实现代码
2009/06/21 Javascript
关于eval 与new Function 到底该选哪个?
2013/04/17 Javascript
javascript实现TreeView 无刷新展开的实例代码
2013/07/13 Javascript
jQuery不兼容input的change事件问题解决过程
2014/12/05 Javascript
javascript清空table表格的方法
2015/05/14 Javascript
Javascript获取数组中的最大值和最小值的方法汇总
2016/01/01 Javascript
使用Node.js处理前端代码文件的编码问题
2016/02/16 Javascript
Node.js连接MongoDB数据库产生的问题
2017/02/08 Javascript
vue货币过滤器的实现方法
2017/04/01 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
2017/07/12 jQuery
vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
2018/11/05 Javascript
Vue中正确使用Element-UI组件的方法实例
2020/10/13 Javascript
python操作ssh实现服务器日志下载的方法
2015/06/03 Python
基于python list对象中嵌套元组使用sort时的排序方法
2018/04/18 Python
python tkinter界面居中显示的方法
2018/10/11 Python
Python构建图像分类识别器的方法
2019/01/12 Python
python使用PyQt5的简单方法
2019/02/27 Python
在pytorch中查看可训练参数的例子
2019/08/18 Python
利用python计算时间差(返回天数)
2019/09/07 Python
Python爬虫爬取电影票房数据及图表展示操作示例
2020/03/27 Python
Django高并发负载均衡实现原理详解
2020/04/04 Python
Spartoo美国:欧洲排名第一的在线时装零售商
2019/12/12 全球购物
高中运动会广播稿
2014/01/21 职场文书
好人好事事迹材料
2014/02/12 职场文书
因家庭原因离职的辞职信范文
2015/05/12 职场文书
Python中glob库实现文件名的匹配
2021/06/18 Python
详解flex:1什么意思
2022/07/23 HTML / CSS