概述
JS模拟浏览器实现全局搜索功能
发布时间:2020-10-22 09:18:55
来源:脚本之家
阅读:107
作者:loveEternity
需要像浏览器的全局搜索一样,搜索指定模块的对应值,然后将匹配到的内容添加背景颜色等。
思路
需要取到当前指定区域的所有内容
然后在取到的内容中找到搜索的内容加上对应的背景颜色
最后在将修改后的内容渲染到页面上
实现
利用innerHTML取到对应模块的内容
编写对应的正则表达式来匹配搜索的内容
利用String.prototype.replace替换匹配到的内容
最后在渲染到页面上
代码实现:
let wrap = document.querySelector('.wrap');
let innerHTML = wrap.innerHTML;
let reg = new RegExp(query, 'g');
innerHTML = innerHTML.replace(reg, '' + query + '');
wrap.innerHTML = innerHTML;
具体的实现搜索实现就完成了,但是上面代码还有个缺陷,就是更换搜索内容时,之前搜索的内容还是具有选中的样式,那么接下来完善功能:
let preQuery = ''; // 上一次搜索的内容
let wrapDom = ''; // 搜索区域的dom元素</
最后
以上就是个性小霸王为你收集整理的怎样用js实现html全站搜索,JS模拟浏览器实现全局搜索功能的全部内容,希望文章能够帮你解决怎样用js实现html全站搜索,JS模拟浏览器实现全局搜索功能所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复