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 相关文章推荐
IFrame跨域高度自适应实现代码
Aug 16 Javascript
jqueyr判断checkbox组的选中(示例代码)
Nov 08 Javascript
Node.js中的模块机制学习笔记
Nov 04 Javascript
js实现图片从左往右渐变切换效果的方法
Feb 06 Javascript
jQuery实现的多屏图像图层切换效果实例
May 07 Javascript
javascript原型继承工作原理和实例详解
Apr 07 Javascript
js实现统计字符串中特定字符出现个数的方法
Aug 02 Javascript
js实现模糊匹配功能
Feb 15 Javascript
JS排序之冒泡排序详解
Apr 08 Javascript
Vuejs实现购物车功能
Nov 05 Javascript
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
Jun 05 jQuery
详解Vue的watch中的immediate与watch是什么意思
Dec 30 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常用ODBC函数集(详细)
2013/06/24 PHP
PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
2014/04/10 PHP
php使用fputcsv()函数csv文件读写数据的方法
2015/01/06 PHP
php 自定义错误日志实例详解
2016/11/12 PHP
php设计模式之代理模式分析【星际争霸游戏案例】
2020/03/23 PHP
用Javscript实现表单复选框的全选功能
2007/05/25 Javascript
javascript整除实现代码
2010/11/23 Javascript
JS实现为排序好的字符串找出重复行的方法
2016/03/02 Javascript
在web中js实现类似excel的表格控件
2016/09/01 Javascript
微信小程序 教程之引用
2016/10/18 Javascript
详解AngularJS用Interceptors来统一处理HTTP请求和响应
2017/06/08 Javascript
javascript如何用递归写一个简单的树形结构示例
2017/09/06 Javascript
微信小程序数据存储与取值详解
2018/01/30 Javascript
vue-rx的初步使用教程
2018/09/21 Javascript
webpack之引入图片的实现及问题
2018/10/08 Javascript
详解element-ui表格中勾选checkbox,高亮当前行
2019/09/02 Javascript
微信小程序缓存支持二次开发封装实现解析
2019/12/16 Javascript
Python的ORM框架SQLObject入门实例
2014/04/28 Python
python实现基于两张图片生成圆角图标效果的方法
2015/03/26 Python
Python中为什么要用self探讨
2015/04/14 Python
自动化Nginx服务器的反向代理的配置方法
2015/06/28 Python
Python中xml和json格式相互转换操作示例
2018/12/05 Python
为什么你还不懂得怎么使用Python协程
2019/05/13 Python
详解python常用命令行选项与环境变量
2020/02/20 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
2020/09/20 Python
Django自带用户认证系统使用方法解析
2020/11/12 Python
HTML5自定义属性前缀data-及dataset的使用方法(html5 新特性)
2017/08/24 HTML / CSS
美国的Eastbay旗下的运动款子品牌:Final-Score
2018/01/01 全球购物
Europcar意大利:汽车租赁
2019/07/07 全球购物
建筑工程实习自我鉴定
2013/09/19 职场文书
英语系本科生个人求职信
2013/09/21 职场文书
2014年小学安全工作总结
2014/12/04 职场文书
优秀党员事迹材料
2014/12/18 职场文书
环卫工人慰问信
2015/02/15 职场文书
党风廉政建设个人总结
2015/03/06 职场文书
入党转正申请自我鉴定
2019/06/25 职场文书