利用js在浏览器中定位节点并且高亮显示节点间的内容

本文介绍如何利用JavaScript在浏览器(如IE和Firefox)中实现对HTML节点内容的高亮反选效果。通过创建和操作Range及Selection对象,实现对特定标签内文字的选中。详细介绍了在DOM兼容浏览器和IE下的实现方法,以及selectNode()和selectNodeContents()的区别。
摘要由CSDN通过智能技术生成
     最近开发的一个项目需要用js在浏览器中实现对界面上某一标签内的内容进行高亮反选,简单说就是类似于拖拽鼠标选中某段文字的那种反选效果。当然内容不是随便选中的,而是选择了被某种标签所包含的文字。
开始的时候没有一点头绪,找了很多资料、做个很多实验~终于找到了在IE和FF下都能过通过的方法。
    其实反选的话,主要是要确定你要选取的范围,然后调用不同浏览器下支持的反选方法(其实当时主要耗费在找 这些方法上了)。
    就我做的项目来说,首先是找要到那个包含待选文字的节点的range。然后再进行光标选中.
例如以下代码:
<p id ="id1">这是一段测试用的文字</p>
1.DOM兼容的浏览器(比如FF)中实现方法:
// DOM Level 2中定义了方法creatRange()来创建范围,这个方法属于document对象
var  oRange  =  document.createRange();
// 得到节点,当然也可以用getElementsByName等方法获得节点
var  oNode </
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值