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 同时在IE和FireFox获取KeyCode的代码
Feb 07 Javascript
jQuery使用addClass()方法给元素添加多个class样式
Mar 26 Javascript
返回函数的JavaScript函数
Jun 14 Javascript
JavaScript定时器制作弹窗小广告
Feb 05 Javascript
深入理解Angular中的依赖注入
Jun 26 Javascript
Vue.js基础指令实例讲解(各种数据绑定、表单渲染大总结)
Jul 03 Javascript
vuejs父子组件之间数据交互详解
Aug 09 Javascript
js实现本地时间同步功能
Aug 26 Javascript
JS实现websocket长轮询实时消息提示的效果
Oct 10 Javascript
基于vue.js中事件修饰符.self的用法(详解)
Feb 23 Javascript
详解vue-cli+es6引入es5写的js(两种方法)
Apr 19 Javascript
解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题
Aug 03 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 Smarty模板生成html文档的方法
2010/04/12 PHP
php 根据url自动生成缩略图并处理高并发问题
2014/01/23 PHP
Yii2.0实现的批量更新及批量插入功能示例
2019/01/29 PHP
goto语法在PHP中的使用教程
2020/09/17 PHP
动态加载js的几种方法
2006/10/23 Javascript
Javascript 判断客户端浏览器类型代码
2010/03/01 Javascript
jquery focus(fn),blur(fn)方法实例代码
2011/12/16 Javascript
MooBox 基于Mootools的对话框插件
2012/01/20 Javascript
JavaScript之自定义类型
2012/05/04 Javascript
js调试系列 初识控制台
2014/06/18 Javascript
Webwork 实现文件上传下载代码详解
2016/02/02 Javascript
jquery实现全选功能效果的实现代码
2016/05/05 Javascript
Bootstrap富文本组件wysiwyg数据保存到mysql的方法
2016/05/09 Javascript
jquery使用on绑定a标签无效 只能用live解决
2016/06/02 Javascript
javascript简易画板开发
2020/04/12 Javascript
基于jQuery和Bootstrap框架实现仿知乎前端动态列表效果
2016/11/09 Javascript
JavaScript 函数的定义-调用、注意事项
2017/04/16 Javascript
关于Stream和Buffer的相互转换详解
2017/07/26 Javascript
使用Node.js实现ORM的一种思路详解(图文)
2017/10/24 Javascript
vue解决跨域路由冲突问题思路解析
2017/11/03 Javascript
修改UA在PC中访问只能在微信中打开的链接方法
2017/11/27 Javascript
js实现简单选项卡制作
2020/08/05 Javascript
[01:59]游戏“zheng”当时试玩会
2019/08/21 DOTA
Python装饰器的函数式编程详解
2015/02/27 Python
python解释器spython使用及原理解析
2019/08/24 Python
python网络编程之五子棋游戏
2020/05/14 Python
工商管理专业学生的自我评价
2013/10/01 职场文书
室内设计自我鉴定
2013/10/15 职场文书
干部培训自我鉴定
2014/01/22 职场文书
行政部工作岗位职责范本
2014/03/05 职场文书
内勤主管岗位职责
2014/04/03 职场文书
法制宣传日活动总结
2014/04/29 职场文书
节电标语大全
2014/06/23 职场文书
财务务虚会发言材料
2014/10/20 职场文书
环境卫生工作汇报材料
2014/10/28 职场文书
单位接收函范文
2015/01/30 职场文书