pc高亮效果实现,以及判断字符存在样式改变

前人栽树后人乘凉,今天接手同事使用jquery开发的项目,遇到一个bug处理

 

业务场景:、基于关键字合成资源名称,并高亮
动态显示标签,高亮命中标签并显示
 

当搜索时例如我在百度搜索JavaScript,搜索成功后页面的关键词会发生变色,之前同事有写好的代码,我需要往上加逻辑

实现思路:拿到url的参数进行判断即可,废话不多说直接上代码

 这里拿到的时url的参数,下步传参进行操作

 

 根据replace方法替换到对应的条件下的,放一个新的标签上去这样高亮效果就实现了

第二个需求

搜索完包含内容会有标签包含对应的模块,让模块包含我搜索的值的标签也产生变色,思路跟前面差不多不过要考虑包含字符的话采用的方法是indexOf(对不起我是牛马想了半天没想到这个方法    - -|||)

代码:

第一个参数是渲染数据接口的数据,第二个是取得参

 这里要加上这个&&iftags条件呢,因为我们项目的业务场景是第一次点到搜索页的时候就要触发,为了防止触发的时候没有参触发了条件,&&(并且满足两个值执行代码)到此业务处理结束

看的文章的大佬们别喷我,有不对的及时指正,共勉(我是弟弟)

今天发现一个问题,js区分大小写需要处理一下,加上

1、转换成大写:toUpperCase()
2、转换成小写:toLowerCase()即可

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现JS页面替换的功能,你可以参考以下步骤: 1. 首先,获取要进行搜索替换的页面元素的innerHTML内容。可以使用`document.getElementById`或`document.querySelector`等方法来获取对应的元素。 2. 创建一个正则表达式对象,用于匹配搜索词。可以使用`new RegExp`来创建正则表达式对象,并传入搜索词作为参数。 3. 使用`replace`方法结合正则表达式,对innerHTML内容进行搜索替换操作。将替换后的内容保存到一个新的变量中。 4. 在替换后的内容中,使用HTML标签(例如`<span>`)将匹配到的搜索词进行显示。可以使用模板字符串(template string)来创建包含标签的新内容。 5. 最后,将替换后的内容更新回原始元素的innerHTML,实现页面替换效果。可以使用`element.innerHTML = newHtml`来更新页面元素。 以下是一个示例代码: ```javascript // 获取页面元素 const element = document.getElementById("your-element-id"); const innerHTML = element.innerHTML; // 定义搜索词 const searchWord = "your-search-word"; // 创建正则表达式对象 const reg = new RegExp(searchWord, "gi"); // 进行搜索替换 const newHtml = innerHTML.replace(reg, match => { return `<span class="highlight">${match}</span>`; }); // 更新页面元素的innerHTML element.innerHTML = newHtml; ``` 请注意,示例代码中的"your-element-id"和"your-search-word"需要替换为实际的元素ID和搜索词。另外,你还可以根据需要自定义样式,例如在CSS中定义名为"highlight"的类,用于设置样式。 希望这个示例能帮到你。如果还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [JS实现静态页面搜索并显示功能完整示例](https://download.csdn.net/download/weixin_38646706/12963490)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [原生JavaScript实现日志搜索的解决方案](https://blog.csdn.net/github_35631540/article/details/128182567)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [JS实现关键词显示正则匹配_白峰_前端开发者](https://blog.csdn.net/weixin_39770311/article/details/117711617)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值