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 相关文章推荐
基于jquery的图片懒加载js
Jun 30 Javascript
javascript一个无懈可击的实例化XMLHttpRequest的方法
Oct 13 Javascript
jQuery 1.5.1 发布,全面支持IE9 修复大量bug
Feb 26 Javascript
获取客户端网卡MAC地址和IP地址实现JS代码
Mar 17 Javascript
js中数组Array的一些常用方法总结
Aug 12 Javascript
学习javascript文件加载优化
Feb 19 Javascript
checkbox批量选中,获取选中项的值的简单实例
Jun 28 Javascript
easyui combotree加载静态数据问题(选不上)解决方法
Dec 26 Javascript
Node.js和Express简单入门介绍
Mar 24 Javascript
AngularJS实现与后台服务器进行交互的示例讲解
Aug 13 Javascript
js实现文件上传功能 后台使用MultipartFile
Sep 08 Javascript
微信小程序清空输入框信息与实现屏幕往上滚动的示例代码
Jun 23 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中的按位与和按位或操作示例
2014/01/27 PHP
php使用CURL不依赖COOKIEJAR获取COOKIE的方法
2015/06/17 PHP
php中bind_param()函数用法分析
2017/03/28 PHP
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
2009/06/04 Javascript
WordPress JQuery处理沙发头像
2009/06/22 Javascript
Jquery validation remote 验证的缓存问题解决方法
2014/03/25 Javascript
JS函数定义方式的区别介绍
2016/03/22 Javascript
javascript实现消灭星星小游戏简单版
2016/11/15 Javascript
微信小程序购物商城系统开发系列-工具篇的介绍
2016/11/21 Javascript
vuejs父子组件通信的问题
2017/01/11 Javascript
详解nodejs实现本地上传图片并预览功能(express4.0+)
2017/06/28 NodeJs
JavaScript基础进阶之数组方法总结(推荐)
2017/09/04 Javascript
vue实现动态添加数据滚动条自动滚动到底部的示例代码
2018/07/06 Javascript
Vue中Quill富文本编辑器的使用教程
2018/09/21 Javascript
vue中axios实现数据交互与跨域问题
2019/05/12 Javascript
微信小程序事件 bindtap bindinput代码实例
2019/08/26 Javascript
nodejs实现的http、https 请求封装操作示例
2020/02/06 NodeJs
浅谈vue中resetFields()使用注意事项
2020/08/12 Javascript
Python下singleton模式的实现方法
2014/07/16 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
2018/11/20 Python
在Python中居然可以定义两个同名通参数的函数
2019/01/31 Python
Python自动发送和收取邮件的方法
2020/08/12 Python
Pycharm操作Git及GitHub的步骤详解
2020/10/27 Python
Pycharm制作搞怪弹窗的实现代码
2021/02/19 Python
澳大利亚和新西兰最大的在线旅行社之一:Aunt Betty
2019/08/07 全球购物
5个HTML5的常用本地存储方式详解与介绍
2021/03/27 HTML / CSS
仓管员岗位责任制
2014/02/19 职场文书
安全生产实施方案
2014/02/23 职场文书
父母对孩子的寄语
2014/04/09 职场文书
同学聚会策划方案
2014/06/06 职场文书
幼儿园六一活动总结
2014/08/27 职场文书
爱心助学感谢信
2015/01/21 职场文书
python四个坐标点对图片区域最小外接矩形进行裁剪
2021/06/04 Python
OpenCV中resize函数插值算法的实现过程(五种)
2021/06/05 Python
win11无法登录onedrive错误代码0x8004def7怎么办 ?
2022/04/05 数码科技
Win11电源已接通但未充电怎么办?Win11电源已接通未充电的解决方法
2022/04/05 数码科技