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 相关文章推荐
jQuery之网页换肤实现代码
Apr 30 Javascript
js中设置元素class的三种方法小结
Aug 28 Javascript
js运动动画的八个知识点
Mar 12 Javascript
AngularJS过滤器filter用法实例分析
Nov 04 Javascript
js图片上传的封装代码
Aug 01 Javascript
js 毫秒转天时分秒的实例
Nov 17 Javascript
create-react-app修改为多页面支持的方法
May 17 Javascript
使用Vue开发自己的Chrome扩展程序过程详解
Jun 21 Javascript
简单了解JavaScript中常见的反模式
Jun 21 Javascript
Vue 权限控制的两种方法(路由验证)
Aug 16 Javascript
Vue实现商品飞入购物车效果(电商项目)
Nov 26 Javascript
JS绘图Flot应用图形绘制异常解决方案
Oct 16 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中实现进程间通讯
2006/10/09 PHP
删除无限分类并同时删除它下面的所有子分类的方法
2010/08/08 PHP
使用PHP生成二维码的两种方法(带logo图像)
2014/03/14 PHP
ThinkPHP学习笔记(一)ThinkPHP部署
2014/06/22 PHP
php转换颜色为其反色的方法
2015/04/27 PHP
PHP函数func_num_args用法实例分析
2015/12/07 PHP
快速解决PHP调用Word组件DCOM权限的问题
2017/12/27 PHP
PHP实现随机发放扑克牌
2020/04/21 PHP
javascript显示隐藏层比较不错的方法分析
2008/09/30 Javascript
js(JavaScript)实现TAB标签切换效果的简单实例
2014/02/26 Javascript
javascript验证身份证号
2015/03/03 Javascript
Javascript字符串常用方法详解
2016/07/21 Javascript
Javascript 实现微信分享(QQ、朋友圈、分享给朋友)
2016/10/21 Javascript
利用Node.js+Koa框架实现前后端交互的方法
2017/02/27 Javascript
Vue.Draggable实现拖拽效果
2020/07/29 Javascript
js中json对象和字符串的理解及相互转化操作实现方法
2017/09/22 Javascript
Vue2.0设置全局样式(less/sass和css)
2017/11/18 Javascript
jquery实现二级导航下拉菜单效果实例
2019/05/14 jQuery
详细讲解用Python发送SMTP邮件的教程
2015/04/29 Python
Python下载懒人图库JavaScript特效
2015/05/28 Python
Python使用win32com实现的模拟浏览器功能示例
2017/07/13 Python
python使用筛选法计算小于给定数字的所有素数
2018/03/19 Python
使用pandas读取csv文件的指定列方法
2018/04/21 Python
python3 实现一行输入,空格隔开的示例
2018/11/14 Python
浅谈matplotlib中FigureCanvasXAgg的用法
2020/06/16 Python
如何基于Python爬取隐秘的角落评论
2020/07/02 Python
使用AJAX和Django获取数据的方法实例
2020/10/25 Python
Napapijri西班牙在线商店:夹克、外套、运动衫等
2020/11/05 全球购物
简单的辞职信范文
2014/01/18 职场文书
CAD制图人员的自荐信
2014/02/07 职场文书
销售职业生涯规划范文
2014/03/14 职场文书
假释思想汇报范文
2014/10/11 职场文书
2014年污水处理厂工作总结
2014/12/19 职场文书
教师党员承诺书2015
2015/01/21 职场文书
辩护词范文大全
2015/05/21 职场文书
详解CSS3浏览器兼容
2022/12/24 HTML / CSS