JS实现静态页面搜索并高亮显示功能完整示例


Posted in Javascript onSeptember 19, 2017

本文实例讲述了JS实现静态页面搜索并高亮显示功能。分享给大家供大家参考,具体如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JS搜索</title>
</head>
<body>
<input id="key-word" class="key-word" value="请输入搜索内容" />
<button id="search-button">搜索</button>
<div id="content" >
<p>这是主体内容,有很多内容,很多很多啊啊啊……,比如1234abcd啊啊啊啊</p>
<p>这是主体内容,有很多内容,很多很多啊啊啊……,比如1234abcd啊啊啊啊</p>
<p>这是主体内容,有很多内容,很多很多啊啊啊……,比如1234abcd啊啊啊啊</p>
<p>这是主体内容,有很多内容,很多很多啊啊啊……,比如1234abcd啊啊< d d>啊啊</p>
</div>
<script>
function $(id){
return document.getElementById(id)
}
var putWordsObj = $('key-word');
putWordsObj.onfocus = function(){
if(this.value == '请输入搜索内容')this.value='';
}
putWordsObj.onblur = function(){
if(!this.value)this.value='请输入搜索内容';
}
//search
$('search-button').onclick = function(){
var content = $('content').innerHTML;
var keyWord = $('key-word').value;
content = search_do(content, keyWord);
$('content').innerHTML = content;
//alert(content)
}
function search_do(content,keyWord){
var keyWordArr = keyWord.replace(/[\s]+/g,' ').split(' ');
var re;
for(var n = 0; n < keyWordArr.length; n ++) {
//re = new RegExp(">[\s\S]*?"+keyWordArr[n]+"[\s\S]*?<\S","gmi");
re = new RegExp(""+keyWordArr[n]+"","gmi");
content = content.replace(re,'<span style="color:#0f0;background-color:#ff0">'+keyWordArr[n]+'</span>');
}
return content;
}
</script>
</body>
</html>

运行效果如下:

JS实现静态页面搜索并高亮显示功能完整示例

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JavaScript脚本性能优化注意事项
Nov 18 Javascript
使用ExtJS技术实现的拖动树结点
Aug 05 Javascript
document.createElement()用法
Mar 13 Javascript
JavaScript Serializer序列化时间处理示例
Jul 31 Javascript
JS+CSS实现简易的滑动门效果代码
Sep 24 Javascript
JavaScript中判断数据类型的方法总结
May 24 Javascript
微信小程序 教程之WXSS
Oct 18 Javascript
jQuery简单获取DIV和A标签元素位置的方法
Feb 07 Javascript
[原创]js实现保存文本框内容为本地文件兼容IE,chrome,火狐浏览器
Feb 14 Javascript
修改npm全局安装模式的路径方法
May 15 Javascript
详解JQuery基础动画操作
Apr 12 jQuery
javascript实现blob加密视频源地址的方法
Aug 08 Javascript
原生javascript实现的全屏滚动功能示例
Sep 19 #Javascript
Vue结合SignalR实现前后端实时消息同步
Sep 19 #Javascript
JavaScript实现的原生态兼容IE6可调可控滚动文字功能详解
Sep 19 #Javascript
vue实现页面加载动画效果
Sep 19 #Javascript
深入理解Node.js中通用基础设计模式
Sep 19 #Javascript
微信小程序媒体组件详解(视频,音乐,图片)
Sep 19 #Javascript
Javascript中将变量转换为字符串的三种方法
Sep 19 #Javascript
You might like
php mysql索引问题
2008/06/07 PHP
网站用php实现paypal整合方法
2010/11/28 PHP
php获取Google机器人访问足迹的方法
2015/04/15 PHP
phpStudy 2016 使用教程详解(支持PHP7)
2017/10/18 PHP
Javascript 作用域使用说明
2009/08/13 Javascript
颜色选择器 Color Picker,IE,Firefox,Opera,Safar
2010/11/25 Javascript
用box固定长宽实现图片自动轮播js代码
2014/06/09 Javascript
微信小程序 实战实例开发流程详细介绍
2017/01/05 Javascript
Bootstarp基本模版学习教程
2017/02/01 Javascript
详细讲解vue2+vuex+axios
2017/05/27 Javascript
Vue项目组件化工程开发实践方案
2018/01/09 Javascript
快速解决vue在ios端下点击响应延时的问题
2018/08/27 Javascript
bootstrapTable+ajax加载数据 refresh更新数据
2018/08/31 Javascript
Node.js从字符串生成文件流的实现方法
2019/08/18 Javascript
vue封装swiper代码实例解析
2019/10/08 Javascript
vue-i18n实现中英文切换的方法
2020/07/06 Javascript
[48:51]完美世界DOTA2联赛PWL S2 Magma vs InkIce 第一场 11.28
2020/12/02 DOTA
Python设计模式之单例模式实例
2014/04/26 Python
Python程序设计入门(5)类的使用简介
2014/06/16 Python
浅谈Python中数据解析
2015/05/05 Python
Python中使用多进程来实现并行处理的方法小结
2017/08/09 Python
python中装饰器级连的使用方法示例
2017/09/29 Python
对numpy中数组元素的统一赋值实例
2018/04/04 Python
Python lxml解析HTML并用xpath获取元素的方法
2019/01/02 Python
使用pip安装python库的多种方式
2019/07/31 Python
python快速排序的实现及运行时间比较
2019/11/22 Python
在python中求分布函数相关的包实例
2020/04/15 Python
PyQt5实现登录页面
2020/05/30 Python
html5播放视频且动态截图实现步骤与代码(支持safari其他未测试)
2013/01/06 HTML / CSS
印尼穆斯林时尚购物网站:Hijabenka
2016/12/10 全球购物
Linux上比较文件的命令都有哪些
2013/09/28 面试题
高三自我评价
2014/02/01 职场文书
中学生评语大全
2014/04/18 职场文书
奥巴马连任演讲稿
2014/05/15 职场文书
2014年实习班主任工作总结
2014/11/08 职场文书
2014年教育工作总结
2014/11/26 职场文书