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 相关文章推荐
文本链接逐个出现的js脚本
Dec 12 Javascript
JS获取dom 对象 ajax操作 读写cookie函数
Nov 18 Javascript
js png图片(有含有透明)在IE6中为什么不透明了
Feb 07 Javascript
JavaScript 和 Java 的区别浅析
Jul 31 Javascript
JS 获取select(多选下拉)中所选值的示例代码
Aug 02 Javascript
浅谈Javascript 执行顺序
Dec 18 Javascript
js判断字符长度以及中英文数字等
Dec 31 Javascript
Javascript的&amp;&amp;和||的另类用法
Jul 23 Javascript
Angular2 自定义validators的实现方法
Jul 05 Javascript
vue中在vuex的actions中请求数据实例
Nov 08 Javascript
微信小程序实现音频文件播放进度的实例代码
Mar 02 Javascript
如何使用JS console.log()技巧提高工作效率
Oct 14 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读取Excel类文件
2017/05/15 PHP
php实现的二叉树遍历算法示例
2017/06/15 PHP
超强的IE背景图片闪烁(抖动)的解决办法
2007/09/09 Javascript
JS操作Cookies包括(读取添加与删除)
2012/12/26 Javascript
JavaScript整除运算函数ceil和floor的区别分析
2015/04/14 Javascript
jQuery实现强制cookie过期方法汇总
2015/05/22 Javascript
jQuery+HTML5实现手机摇一摇换衣特效
2015/06/05 Javascript
js跨域请求数据的3种常用的方法
2015/12/01 Javascript
javascript实现禁止复制网页内容汇总
2015/12/30 Javascript
jQuery实现ToolTip元素定位显示功能示例
2016/11/23 Javascript
利用types增强vscode中js代码提示功能详解
2017/07/07 Javascript
React 组件转 Vue 组件的命令写法
2018/02/28 Javascript
angularJs利用$scope处理升降序的方法
2018/10/08 Javascript
使用mpvue搭建一个初始小程序及项目配置方法
2018/12/03 Javascript
详解vue移动端项目代码拆分记录
2019/03/15 Javascript
搭建一个Koa后端项目脚手架的方法步骤
2019/05/30 Javascript
vue 自动化路由实现代码
2019/09/03 Javascript
vue自定义插件封装,实现简易的elementUi的Message和MessageBox的示例
2020/11/20 Vue.js
[01:12:08]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.24
2019/09/10 DOTA
[36:16]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.19
2020/12/24 DOTA
Python入门篇之数字
2014/10/20 Python
进一步探究Python中的正则表达式
2015/04/28 Python
详解Python的collections模块中的deque双端队列结构
2016/07/07 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
2019/01/14 Python
Python实现的登录验证系统完整案例【基于搭建的MVC框架】
2019/04/12 Python
python 实现创建文件夹和创建日志文件的方法
2019/07/07 Python
树莓派使用python-librtmp实现rtmp推流h264的方法
2019/07/22 Python
图文详解Django使用Pycharm连接MySQL数据库
2019/08/09 Python
Python生成器generator原理及用法解析
2020/07/20 Python
加拿大在线眼镜零售商:SmartBuyGlasses加拿大
2019/05/25 全球购物
乡镇干部党的群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
部队2014年终工作总结
2014/11/27 职场文书
九年级历史教学反思
2016/02/19 职场文书
古诗之感恩老师
2019/10/24 职场文书
MySQL高级进阶sql语句总结大全
2022/03/16 MySQL
使用python生成大量数据写入es数据库并查询操作(2)
2022/09/23 Python