【前端学习记录】如何选中文本为其添加类名

在 JavaScript 中获取选中或突出显示的文本 本文将展示我们如何使用 DOM API 来让用户在屏幕上突出显示或选择文本。DOM API 为我们提供了方法,该方法允许我们获取用户选择的文本。窗口对象可以直接访问这个方法。让我们看看如何实际实现此功能。 阅读详情

window.getSelection()

getSelection() 方法,可以确定实际选择的文本。
这个方法是 window 对象和 document 对象的属性,调用它会返回一个表示当前选择文本的 Selection对象。
每个 Selection 对象都有下列属性。

anchorNode :选区起点所在的节点。
anchorOffset :在到达选区起点位置之前跳过的 anchorNode 中的字符数量。
focusNode :选区终点所在的节点。
focusOffset : focusNode 中包含在选区之内的字符数量。
isCollapsed :布尔值,表示选区的起点和终点是否重合。
rangeCount :选区中包含的 DOM 范围的数量
addRange(range) :将指定的 DOM 范围添加到选区中。
collapse(node, offset) :将选区折叠到指定节点中的相应的文本偏移位置。
collapseToEnd() :将选区折叠到终点位置。
collapseToStart() :将选区折叠到起点位置。
containsNode(node) :确定指定的节点是否包含在选区中。
deleteFromDocument() :从文档中删除选区中的文本,与 document.execCommand(“delete”,false, null) 命令的结果相同。
extend(node, offset) :通过将 focusNode 和 focusOffset 移动到指定的值来扩展选区。
getRangeAt(index) :返回索引对应的选区中的 DOM 范围。
removeAllRanges() :从选区中移除所有 DOM 范围。实际上,这样会移除选区,因为选区中至少要有一个范围。
reomveRange(range) :从选区中移除指定的 DOM 范围。
selectAllChildren(node) :清除选区并选择指定节点的所有子节点。
toString() :返回选区所包含的文本内容。

其中getRangeAt()这个属性,这个属性返回索引对应的选区中的 DOM 范围,是一个Range对象这样就记住了获取文档片段的位置。

Range.extractContents()

extractContents(),会从文档中移除范围选区,并返回范围的文档片段,这样就获得了想要的文档片段。

Range.insertNode()

insertNode(),是在Range的起始位置插入节点的方法。

前端学习记录(HTML5+css3+web开发) 黑马程序员前端学习记录 阅读详情

相关推荐

前端学习日志-day21

仅添加行内样式,适合少量样式修改;描述相关:title(提示文本)、alt(图片加载失败提示)、id(元素唯一标识)。内容相关:innerText、innerHTML(同 “改变元素内容”)。由浏览器提供,用于调用浏览器功能或操作页面元素的接口,类似 “方法”。链接 / 资源相关:src(图片等资源路径)、href(链接地址)。:一种用于修改网页的接口,可对网页的结构、样式和内容进行操作。具有输入(函数传参)和输出(返回值),形态多为方法或函数。Element:代表网页中的 HTML 标签(元素)。

ideal_755的博客 1024

创建动态id、class

props接受父组件传递的id值 props: { id: { type: String, default: function() { return 'vue-tinymce-' + +new Date() + ((Math.random() * 1000).toFixed(0) + '') }//随机数 }, }, data() { return { tinymce: this.id }

shuai1999m的博客 908

tinymce-custom-class:TinyMCE 自定义类插件

tinymce 自定义类 TinyMCE 自定义类插件

vue中使用富文本编辑器--tinymce

第一步:下载tinymce npm install tinymce-vue --save; cnpm install tinymce-vue --save; 第二步:下载tinymce的css文件包和语言包 在static下创建文件夹tinymce,并将下载好的文件放进去 第三步:在页面中引入并使用它。这里直接将富文本编辑器封装成了一个vue组件的形式 <template> &...

qq_40076219的博客 730

中标麒麟,postgres报错invalid value for parameter "timeZone":"Asia/Beijing"

在中标麒麟服务器上,安装postgres,启动tomcat容器时,报invalid value for parameter "timeZone":"Asia/Beijing"。 查看postgres运行日志,也报同样的错误。 报错原因:服务器的时区,在Postgres支持的时区目录中找不到。当时在服务器上信息为Beijing 解决步骤: 1. cat /etc/sysconfig/cloc

u010213931的博客 7924

智能车竞赛走马观碑组:赛道元素与目标板识别策略解析

本文深入解析了智能车竞赛走马观碑组别的核心挑战与策略。重点探讨了如何应对PVC赛道的光照、磨损及无边界线等复杂环境,并详细阐述了基于红色引导区的目标板高效识别流程。通过平衡轻量化模型选择、实时决策与精准控制,实现赛道元素适应性与目标板识别策略的优化,为参赛者提供了一套完整的系统集成与实战调参思路。

x8y9z0的博客 460

Vue3使用tinymce的配置和坑

Tinymce

qq_38828542的博客 4478

YooAsset 2.2.12四层加密架构:跨平台资源安全实战指南

AssetBundle加密是Unity热更新安全的核心环节,其本质是通过算法、密钥管理与生命周期协同实现资源全链路防护。传统方案常陷于‘打包后加密’的误区,导致内存开销大、跨平台兼容差、逆向防护弱。YooAsset 2.2.12提出打包层、传输层、加载层、运行层四层防护架构,将加密前置到资源序列化前,并依托BundleHeader实现动态算法协商与密钥分发,显著提升iOS/Android/WebGL三端一致性。该方案兼顾AES-128等通用算法与SM4等国密支持,同时通过IMemoryDecryptor实现

weixin_32428571的博客 416

前端学习记录02

前端学习记录02 1、标签的属性 标签由标签名、标签属性、文本内容三部分组成。其中,单标签没有文本内容。 标签属性分为通用属性、自由属性、自定义属性。 通用属性:所有标签都具有的属性。 id:给标签取名 class:用来给标签娶一个类名 style:用来设置标签的行内样式 title:当鼠标移到标签时,所显示的提示内容 自定义属性:通常用来传值或用于图片懒加载。 格式:data-*(*是一个单词) <img data-src="图片名" alt="提示文本"/><!--图片懒加载--&gt

yu_HCY_的博客 159

中兴通讯招聘测评答题技巧,真题解析(附真题)

中兴招聘测评、中兴入职测评、中兴线上考试

guang221315221的博客 5803

Windows下PaddleOCR GPU版环境搭建全攻略(含CUDA 11.7避坑指南)

本文提供了一份详尽的Windows平台PaddleOCR GPU版环境搭建指南,重点涵盖CUDA 11.7与cuDNN的版本匹配、环境变量配置及常见避坑方法。通过使用Conda创建虚拟环境并安装匹配的PaddlePaddle-gpu版本,最终实现GPU加速的OCR推理,帮助开发者构建稳定高效的开发环境。

docker7nomad的博客 751

#【博学谷学习记录】超强总结,用心分享|前端CSS<一>基础知识总结

随着科学技术的发展,互联网全面进入移动时代,前端逐渐成为互联网行业中的重要角色,CSS是前端开发非常重要的工具,本篇文章将为大家罗列CSS的基础知识。

qq_47109078的博客 260

CST与MATLAB连接设置

打开MATLAB,点击"Set Path"按钮,然后点击"Add Folder"。在CST中,点击"Options"菜单,然后选择"Advanced"选项。在弹出的对话框中,点击"COMSOL"选项卡,并确保"Enable COMSOL"复选框被选中。通过上述步骤和示例代码,你可以开始使用MATLAB与CST进行集成,并根据你的具体需求进行进一步的开发和应用。通过这个简单的示例,你可以开始在MATLAB中与CST进行交互,并根据你的需求进行更复杂的操作,如参数化仿真、优化和数据处理等。

TechPulseZ的博客 1966

【HTML+CSS】前端学习记录2

css的选择器、一些样式的属性

qq_40268652的博客 132

ROSTEA软件下载及情感分析详细操作教程(附网盘链接)

原ROST虚拟团队出品的ROST系列文本内容挖掘分析平台,是辅助人文社会科学研究的免费计算平台。该软件可以实现文本预处理、分字、分词、词性识别、特殊名词抽取、词频统计、英文词频统计、情感计算、分类算法、聚类算法等一系列文本挖掘,是人文社科研究和论文写作的一把利器。该软件用户量超过一万人,遍布海内外100多所大学,包括剑桥大学、日本北海道大学、北京大学、清华大学、香港城市大学、澳门大学等众多高校。关于ROSTCM6的安装介绍可以参考之前的文章ROSTCM6软件下载及语义网络分析详细操作教程ROST EA。

m0_64336780的博客 1万+

MicroChip的SmartFusion2的M2S090芯片的全流程开发环境搭建和Demo设计

MicroChip的SmartFusion2的M2S090芯片的全流程开发环境搭建和Demo设计

qq_45806640的博客 455

博学谷学习记录 | 学习总结,用心分享 | 前端学习基础之CSS样式

黑马前端学习----CSS基础总结

m0_47321226的博客 273

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

一个合格的初级前端工程师需要掌握的模块笔记

一个合格的初级前端工程师需要掌握的模块笔记 文章目录一个合格的初级前端工程师需要掌握的模块笔记前言Web模块html基本结构标签属性事件属性文本标签多媒体标签列表表格表单标签其他语义化标签网页结构模块划分CSS代码语法CSS 放置位置CSS的继承选择器的种类选择器的优先级背景样式字体样式文本属性基本样式样式重置盒模型样式浮动float定位position浏览器默认样式html5HTML5 的优势HTML5 废弃元素HTML5 新增元素HTML5 表单相关元素和属性css3CSS3 新增选择器CSS3 新增属

程序员哆啦A梦,蓝胖子 8307

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

JS前端实现网页复制文本(兼容IOS端、微信浏览器 源码解析)

该方法在 **ios浏览器和微信浏览器** 中复制无效,判断navigator.clipboard是存在的,但就是writeText时出错,显示拒绝。使用第三方库,例如 `clipboard`

burgessbin的博客 2246

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

HTML学习记录3

class属性,后期配合css使用,同一个页面可以存在多个class相同的标签label标签,

2403_89223879的博客 497

前端学习^ ^

前端学习

jiangchubiu的博客 244

关于前端的一些学习记录(8)

一个普通大学生的前端学习随手记,希望对正在学习的你也有帮助!

m0_61529679的博客 170

【博学谷学习记录】超强总结,用心分享|前端开发持续三周的感受

【博学谷学习记录】超强总结,用心分享|前端开发持续三周的感受

xiaoshuai7的博客 154

【博学谷学习记录】超强总结,用心分享|前端开发持续一周的感受

【博学谷学习记录】超强总结,用心分享|前端开发持续一周的感受

xiaoshuai7的博客 201

Web前端系列技术之CSS基础(从入门开始)①

Java系列技术之CSS基础(从入门开始)

小柴爱程序的博客 1095

学习笔记(二)前端CSS的一些记录

vertical-align: top; 顶线对齐 background: blue; 背景色 border: 1px dotted; 边框大小和样式 padding-top: 20px; 字体和边框距离 text-align: center; 文本对齐居中 line-height: 37px; 行高 text-decoration: none; 去掉下划线 color: #ffffff; ...

arycode的博客 253
上一篇: 【前端学习记录】学习网站收录(持续收录中)
下一篇: 【前端学习记录】Node.nodeType()
Note_creek
博客等级 码龄10年 372粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值