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 相关文章推荐
你需要知道的JavsScript可以做什么?
Jun 29 Javascript
JavaScript Cookie显示用户上次访问的时间和次数
Dec 08 Javascript
js点击出现悬浮窗效果不使用JQuery插件
Jan 20 Javascript
setInterval与clearInterval的使用示例代码
Jan 28 Javascript
Redis基本知识、安装、部署、配置笔记
Mar 05 Javascript
使用AngularJS来实现HTML页面嵌套的方法
Jun 17 Javascript
easyui Draggable组件实现拖动效果
Aug 19 Javascript
跟我学习javascript的call(),apply(),bind()与回调
Nov 16 Javascript
JS实现控制图片显示大小的方法【图片等比例缩放功能】
Feb 18 Javascript
vue按需引入element Transfer 穿梭框
Sep 30 Javascript
js设计模式之单例模式原理与用法详解
Aug 15 Javascript
Vue自动构建发布脚本的方法示例
Jul 24 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/04/03 PHP
PHP删除数组中特定元素的两种方法
2019/02/28 PHP
类似框架的js代码
2006/11/09 Javascript
jquery 分页控件实现代码
2009/11/30 Javascript
javascript nextSibling 与 getNextElement(node) 使用介绍
2011/10/13 Javascript
一些老手都不一定知道的JavaScript技巧
2014/05/06 Javascript
纯CSS3代码实现滑动开关效果
2015/08/19 Javascript
jqGrid表格应用之新增与删除数据附源码下载
2015/12/02 Javascript
快速解决js动态改变dom元素属性后页面及时渲染的问题
2016/07/06 Javascript
Django使用多数据库的方法
2017/09/06 Javascript
vue2.0之多页面的开发的示例
2018/01/30 Javascript
vue 使用Jade模板写html,stylus写css的方法
2018/02/23 Javascript
D3.js实现拓扑图的示例代码
2018/06/30 Javascript
Vue路由守卫之路由独享守卫
2019/09/25 Javascript
[00:19]CN DOTA NEVER DIE!VG夺冠rOtK接受采访
2019/12/23 DOTA
python处理cookie详解
2014/02/07 Python
Python中生成Epoch的方法
2017/04/26 Python
完美解决在oj中Python的循环输入问题
2018/06/25 Python
pip指定python位置安装软件包的方法
2019/07/12 Python
Python计算矩阵的和积的实例详解
2020/09/10 Python
canvas线条的属性详解
2018/03/27 HTML / CSS
Sephora丝芙兰菲律宾官方网站:购买化妆品和护肤品
2017/04/05 全球购物
MAC Cosmetics官方网站:魅可专业艺术彩妆
2019/04/10 全球购物
什么是唯一索引
2015/07/05 面试题
Linux开机引导的步骤是什么
2014/02/26 面试题
音乐系毕业生自荐信
2013/10/27 职场文书
制冷与电控专业应届生求职信
2013/11/11 职场文书
旅游个人求职信范文
2014/01/30 职场文书
高速铁道技术专业求职信
2014/08/09 职场文书
身边的榜样活动方案
2014/08/20 职场文书
学生旷课检讨书500字
2014/10/28 职场文书
2014年小学语文工作总结
2014/12/20 职场文书
公务员政审材料范文
2014/12/23 职场文书
2016年推广普通话宣传周活动总结
2016/04/06 职场文书
NodeJs内存占用过高的排查实战记录
2021/05/10 NodeJs
Java中CyclicBarrier和CountDownLatch的用法与区别
2021/08/23 Java/Android