更改<p>根据用户选择进行标记
Change color of a part of text inside a <p> tag according to user selection?
我正在为Google Chrome开发一个扩展;作为它的一部分,有一个文本突出显示功能。
我已经设法高亮显示了一个完整的<p></p>
标记(或任何其他标记),但我不知道如何高亮显示标记中的某个部分。(用户不会选择整个标签)
我发现我应该在<p>
标签中使用<span>
,但我不知道怎么做
-
如何识别用户选择的零件?
-
如何突出显示所选零件(如更改背面颜色)?
详细的解释将是非常有帮助和高度赞赏的,因为我是扩展开发的新手。
我过去所做的是将文本分成三部分:
1-所选文本之前的文本。
2-所选文本。
3-所选文本之后的文本。
然后,我清除元素的innerHTML(或其他方法),添加"before"文本,添加一个以其文本为文本的span(具有可以突出显示的样式),以及"after"文本。
要了解他们选择了什么,您可以使用范围(选择开始和选择结束)例如
var html = elem.innerHTML;
var before = html.slice(0, elem.selectionStart);
var selected = html.slice(elem.selectionStart, html.selectionEnd);
var after = html.substring(html.selectionEnd);
这种方法并不完美,但它是一个很好的入门方法。
相关文章:
- d3基于用户选择动态更新节点
- 是否可以仅通过jQuery将图像替换为用户动态选择的另一个图像
- 获取用户选择的不带时区的日期
- 如何使用javascript localStorage保存用户选择并在不同的html页面中显示
- 根据用户从下拉列表中的选择显示多个文本框
- 根据部门用户的选择,接收来自多个电子邮件地址的Wordpress Contactform7查询
- 计算用户从多个文件中选择的选项数量
- jQuery根据用户选择启用/禁用asp.net控件
- 谷歌表单-根据分配给谷歌应用程序的工作为商业用户预先填充多项选择列表
- 将用户对样式表的选择保存在cookie中
- 浏览并选择用户硬盘驱动器中的文件在IE中未定义
- 从下拉框中选择用户信息,并使用进度计数器显示数据库中的选定项目
- 如何使用可点击按钮在Datepicker日历中选择用户在其他月份的当前日期
- 如何在HTML5中选择用户媒体输入
- 自定义选择下拉,无法选择用户添加的项目
- 如何增加/减少'选择'用户想要选择一个选项后的选项宽度
- 从列表中选择用户
- 想要从更改cakephp部门的下拉列表中选择用户
- 如何选择用户从跨度列表在javascript
- 如何在Knockout中的数据绑定选项中自动选择用户状态