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 相关文章推荐
js函数调用常用方法详解
Dec 03 Javascript
JavaScript的各种常见函数定义方法
Sep 16 Javascript
JSONP之我见
Mar 24 Javascript
响应式表格之固定表头的简单实现
Aug 26 Javascript
JS实现拖动滚动条评分的效果代码分享
Sep 29 Javascript
web.js.字符串与正则表达式操作
May 13 Javascript
vue实现全选和反选功能
Aug 31 Javascript
vue2.0组件之间传值、通信的多种方式(干货)
Feb 10 Javascript
微信小程序-可移动菜单的实现过程详解
Jun 24 Javascript
JavaScript:ES2019 的新特性(译)
Aug 08 Javascript
js实现点击烟花特效
Oct 14 Javascript
详解JS数组方法
Nov 20 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设计模式之单例模式实例分析
2015/02/25 PHP
拖拉表格的JS函数
2008/11/20 Javascript
js中的异常处理try...catch使用介绍
2013/09/21 Javascript
JS嵌套函数调用上下文的问题解决
2014/03/26 Javascript
JS实现简单的顶部定时关闭层效果
2014/06/15 Javascript
使用JavaScript实现连续滚动字幕效果的方法
2015/07/07 Javascript
js实现仿MSN带关闭功能的右下角弹窗代码
2015/09/04 Javascript
jQuery ajax分页插件实例代码
2016/01/27 Javascript
AngularJS数据源的多种获取方式汇总
2016/02/02 Javascript
javascript获取select标签选中的值
2016/06/04 Javascript
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
2016/07/26 NodeJs
AngularJS 过滤器(自带和自建)详解
2016/09/19 Javascript
JS实现的简单轮播图运动效果示例
2016/12/22 Javascript
Vue.js开发环境快速搭建教程
2017/03/17 Javascript
JavaScript箭头(arrow)函数详解
2017/06/04 Javascript
vue 修改 data 数据问题并实时显示的方法
2018/08/27 Javascript
vue项目中实现图片预览的公用组件功能
2018/10/26 Javascript
如何使用puppet替换文件中的string
2018/12/06 Javascript
微信小程序视图控件与bindtap之间的问题的解决
2019/04/08 Javascript
详解VUE项目中安装和使用vant组件
2019/04/28 Javascript
JavaScript动态添加数据到表单并提交的几种方式
2019/06/26 Javascript
JavaScript字符串处理常见操作方法小结
2019/11/15 Javascript
小结Python用fork来创建子进程注意事项
2014/07/03 Python
Python制作数据导入导出工具
2015/07/31 Python
python kmeans聚类简单介绍和实现代码
2018/02/23 Python
python对list中的每个元素进行某种操作的方法
2018/06/29 Python
python中datetime模块中strftime/strptime函数的使用
2018/07/03 Python
详解PyTorch手写数字识别(MNIST数据集)
2019/08/16 Python
python 输出列表元素实例(以空格/逗号为分隔符)
2019/12/25 Python
英国电信商店:BT Shop
2019/12/17 全球购物
班级活动总结格式
2014/08/30 职场文书
法定授权委托证明书
2014/09/27 职场文书
部队2015年终工作总结
2015/04/02 职场文书
天河观后感
2015/06/11 职场文书
2016年社会主义核心价值观心得体会
2016/01/21 职场文书
Navicat Premium自定义 sql 标签的创建方式
2022/09/23 数据库