前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >热词搜索_针对关键词的样式实现步骤

热词搜索_针对关键词的样式实现步骤

作者头像
wfaceboss
发布2019-04-08 11:03:19
6230
发布2019-04-08 11:03:19
举报
文章被收录于专栏:wfacebosswfaceboss

第一步,页面部分

代码语言:javascript
复制
//项目版本
@{
var t=1;
}
<div>
@foreach(var item in Modle.xxx){//Model为服务器端返回来的总条数数据

3.jquery

代码语言:javascript
复制
 $("#shoWId>button").click(function () {
   var Content=new Array();//存放文本内容的容器
     var guanzi="kkk";//关键字不能为空,所以在项目中需要在此处获取搜索框里面的关键词,并判断不为空是才去执行以下部分
  
     var SelfContent=document.getElementsByClassName("selfClass");     for(var i=0;i<SelfContent.length;i++){
       Content.push(SelfContent[i].innerText);
     }

     for(var k=0;k<Content.length;k++){

         togod(Content[k],guanzi,k);

     }
 });
function  togod(contentStr,key,KID) {

        var set="";
    var positionKey=contentStr.indexOf(key);

    var positionArray=new Array();//存放关键字在文本中的文字的容器
    while (positionKey>-1){
        positionArray.push(positionKey);
        positionKey=contentStr.indexOf(key,positionKey+1);
    }
    for(var j=0;j<positionArray.length;j++){
        var s1=contentStr.substring(0,positionArray[j]);
        var s2='<span  style="color: red;">'+key+'</span>';
        var s3=contentStr.substring(positionArray[j]+key.length,contentStr.length);
             set=s1+s2+s3;//重新组装
    }
      var currentId = "select" + KID;
    document.getElementById("currentId").innerHTML=set;//重新渲染
}

以下是一个例子:

第一,Html部分:

代码语言:javascript
复制
@{
y=0;
var omit="...";
}
 <div class="dxcsearch_content_result_list_title" id="cateMessage@(y)">

                            @if (item.Title.Length > 45)
                            {
                                @item.Title.Substring(0, 45)@omit
                            }
                            else
                            {
                                @item.Title
                            }
 </div>

第二,Jquery部分

代码语言:javascript
复制
<script>
    var content = new Array()
    var cateMessage = "@Model.CateMessage";//关键字是从服务器端返回的
    var contentList = document.getElementsByClassName('dxcsearch_content_result_list_title');
   
    if (cateMessage!="") {
        for (var i = 0; i < contentList.length; i++) {
            content.push(contentList[i].innerText);
        }
        for (var k = 0; k < content.length; k++) {
            searchSubStr(content[k], cateMessage, k);
        }
        function searchSubStr(str, subStr, p) {
            var set = "";
            var pos = str.indexOf(subStr);
            var positions = new Array();
            while (pos > -1) {
                positions.push(pos);
                pos = str.indexOf(subStr, pos + 1);
            }

            for (var j = 0; j < positions.length; j++) {
                var s1 = str.substring(0, positions[j]);

                var s2 = '<span style="color:#fe8081">' + cateMessage + '</span >';

                var s3 = str.substring(positions[j] + cateMessage.length, str.length);

                set = s1 + s2 + s3;

            }
            var currentId = "cateMessage" + p;
            document.getElementById(currentId).innerHTML = set;
        }
    }
</script>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-08-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档