JS实现查询关键词高亮效果

在页面上查询关键,使其高亮显示,实现代码如下:

CSS样式:

1
2
3
4
5
  <style type= "text/css" >
         .highlight        {
             background-color : yellow;
         }
  </style>

javascript:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function  highlight() {
             clearSelection();  //先清空一下上次高亮显示的内容;
             var  searchText = $.trim($( '#txtKeyWord' ).val());  //获取你输入的关键字;
             if  (searchText.length > 0) {
                 var  regExp =  new  RegExp(searchText,  'g' );  //创建正则表达式,g表示全局的,如果不用g,则查找到第一个就不会继续向下查找了;
 
                 $( '#dialogue .dhc' ).each( function  () //遍历要查询的区域;
                 {
                     var  html = $( this ).html();
                     var  newHtml = html.replace(regExp,  "<span class='highlight'>"  + searchText +  '</span>' );  //将找到的关键字替换,加上highlight属性;
 
                     $( this ).html(newHtml);  //更新文章;
                 });
             }
             //prekeyword = searchText;
         }
         function  clearSelection() {
             $( '#dialogue .dhc' ).each( function  () //遍历
             {
                 $( this ).find( '.highlight' ).each( function  () //找到所有highlight属性的元素;
                 {
                     var  thishtml = $( this ).html();
                     $( this )[0].outerHTML = thishtml;
                    // $(this).replaceWith(thishtml); //将他们的属性去掉;
                 });
             });
         }

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值