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之对系统的toFixed()方法的修正
May 08 Javascript
通过Mootools 1.2来操纵HTML DOM元素
Sep 15 Javascript
xml转json的js代码
Aug 28 Javascript
jquery实现隐藏与显示动画效果/输入框字符动态递减/导航按钮切换
Jul 01 Javascript
js实现简单的左右两边固定广告效果实例
Apr 10 Javascript
svg动画之动态描边效果
Feb 22 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
Mar 31 Javascript
AngularJS实现tab选项卡的方法详解
Jul 05 Javascript
实现一个完整的Node.js RESTful API的示例
Sep 29 Javascript
分享5个小技巧让你写出更好的 JavaScript 条件语句
Oct 20 Javascript
vue使用keep-alive保持滚动条位置的实现方法
Apr 09 Javascript
浅谈Vuex的this.$store.commit和在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制作静态网站的模板框架
2006/10/09 PHP
php购物网站支付paypal使用方法
2010/11/28 PHP
基于PHP的简单采集数据入库程序
2014/07/30 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
2014/10/23 PHP
详解WordPress中用于更新和获取用户选项数据的PHP函数
2016/03/08 PHP
PHP生成唯一ID之SnowFlake算法
2016/12/17 PHP
浅谈laravel-admin的sortable和orderby使用问题
2019/10/03 PHP
Laravel如何实现自动加载类
2019/10/14 PHP
JS模拟多线程
2007/02/07 Javascript
读jQuery之六 缓存数据功能介绍
2011/06/21 Javascript
JS判断移动端访问设备并加载对应CSS样式
2014/06/13 Javascript
JavaScript设计模式之单件模式介绍
2014/12/28 Javascript
移动端界面的适配
2017/01/11 Javascript
解决Vue页面固定滚动位置的处理办法
2017/07/13 Javascript
关闭Vue计算属性自带的缓存功能方法
2018/03/02 Javascript
JavaScript解决浮点数计算不准确问题的方法分析
2018/07/09 Javascript
vue获取元素宽、高、距离左边距离,右,上距离等还有XY坐标轴的方法
2018/09/05 Javascript
JavaScript 面向对象基础简单示例
2019/10/02 Javascript
关于vue.js中实现方法内某些代码延时执行
2019/11/14 Javascript
使用pdb模块调试Python程序实例
2015/06/02 Python
Python简单网络编程示例【客户端与服务端】
2017/05/26 Python
Python数据结构与算法之图结构(Graph)实例分析
2017/09/05 Python
一个Python最简单的接口自动化框架
2018/01/02 Python
详解python实现线程安全的单例模式
2018/03/05 Python
在pycharm中python切换解释器失败的解决方法
2018/10/29 Python
Python正则表达式匹配数字和小数的方法
2019/07/03 Python
美国最大点评网站:Yelp
2018/02/14 全球购物
Hawes & Curtis官网:英国经典品牌
2019/07/27 全球购物
大学生饮食连锁店创业计划书
2014/01/17 职场文书
先进事迹报告会感言
2014/01/24 职场文书
保护环境演讲稿
2014/05/10 职场文书
幸福家庭标语
2014/06/27 职场文书
酒店端午节活动方案
2014/08/26 职场文书
债务追讨授权委托书范本
2014/10/16 职场文书
装修公司管理制度
2015/08/05 职场文书
创业计划书之韩国烧烤店
2019/09/19 职场文书