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代码实现selece二级联动(推荐)
Feb 18 Javascript
Eclipse配置Javascript开发环境图文教程
Jan 29 Javascript
JS实现简易图片轮播效果的方法
Mar 25 Javascript
有关JavaScript中call()和apply() 的一些理解
May 20 Javascript
Bootstrap进度条与AJAX后端数据传递结合使用实例详解
Apr 23 Javascript
微信小程序textarea层级过高的解决方法
Mar 04 Javascript
使用Three.js实现太阳系八大行星的自转公转示例代码
Apr 09 Javascript
vue+mock.js实现前后端分离
Jul 24 Javascript
vuex实现像调用模板方法一样调用Mutations方法
Nov 06 Javascript
vue中的 $slot 获取插槽的节点实例
Nov 12 Javascript
Preload基础使用方法详解
Feb 03 Javascript
JavaScript随机数的组合问题案例分析
May 16 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
.htaccess文件保护实例讲解
2011/02/06 PHP
php写的简易聊天室代码
2011/06/04 PHP
php中过滤非法字符的具体实现
2013/10/29 PHP
PHP实现的操作数组类库定义与用法示例
2019/05/24 PHP
深入理解javaScript中的事件驱动
2013/05/21 Javascript
js中的push和join方法使用介绍
2013/10/08 Javascript
jQuery中:contains选择器用法实例
2014/12/30 Javascript
学习JavaScript设计模式(封装)
2015/11/26 Javascript
jQuery实现右下角可缩放大小的层完整实例
2016/06/20 Javascript
js 实现数值的千分位及保存小数方法(推荐)
2016/08/01 Javascript
微信小程序-获得用户输入内容
2017/02/13 Javascript
Angular2中如何使用ngx-translate进行国际化
2017/05/21 Javascript
inner join 内联与left join 左联的实例代码
2017/09/18 Javascript
浅析JavaScript中的特殊数据类型
2017/12/15 Javascript
Angular6 写一个简单的Select组件示例
2018/08/20 Javascript
在小程序开发中使用npm的方法
2018/10/17 Javascript
axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
2019/05/02 Javascript
微信小程序顶部导航栏可滑动并选中放大
2019/12/05 Javascript
JS实现悬浮球只在一侧滑动并且是横屏状态下
2020/08/19 Javascript
[01:08:24]DOTA2-DPC中国联赛 正赛 RNG vs Phoenix BO3 第一场 2月5日
2021/03/11 DOTA
Flask框架通过Flask_login实现用户登录功能示例
2018/07/17 Python
python 检查文件mime类型的方法
2018/12/08 Python
Tensorflow分类器项目自定义数据读入的实现
2019/02/05 Python
Python基于进程池实现多进程过程解析
2020/04/30 Python
Python字符串格式化f-string多种功能实现
2020/05/07 Python
python里的单引号和双引号的有什么作用
2020/06/17 Python
浅谈keras中Dropout在预测过程中是否仍要起作用
2020/07/09 Python
Django如何使用asyncio协程和ThreadPoolExecutor多线程
2020/10/12 Python
python程序实现BTC(比特币)挖矿的完整代码
2021/01/20 Python
暑期实践思想汇报
2014/01/06 职场文书
甜点店创业计划书
2014/01/27 职场文书
菜篮子工程实施方案
2014/03/08 职场文书
2014年服务员个人工作总结
2014/12/23 职场文书
考试作弊检讨书
2015/01/27 职场文书
2015年青年志愿者协会工作总结
2015/04/27 职场文书
Python如何使用logging为Flask增加logid
2021/03/30 Python