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 相关文章推荐
用ASP将SQL搜索出来的内容导出为TXT的代码
Jul 27 Javascript
js弹出层之1:JQuery.Boxy (二)
Oct 06 Javascript
JS 退出系统并跳转到登录界面的实现代码
Jun 29 Javascript
js中的eventType事件及其浏览器支持性介绍
Nov 29 Javascript
详谈jQuery中的this和$(this)
Nov 13 Javascript
jquery插件NProgress.js制作网页加载进度条
Jun 05 Javascript
vue.js 表格分页ajax 异步加载数据
Oct 18 Javascript
创建一般js对象的几种方式
Jan 19 Javascript
使用node.js搭建服务器
May 20 Javascript
JavaScript设计模式之代理模式简单实例教程
Jul 03 Javascript
微信小程序导航栏跟随滑动效果的实现代码
May 14 Javascript
JS 图片压缩原理与实现方法详解
Apr 29 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 class中self,parent,this的区别以及实例介绍
2013/04/24 PHP
php笔记之:php数组相关函数的使用
2013/04/26 PHP
CodeIgniter中使用Smarty3基本配置
2015/06/29 PHP
php-fpm添加service服务的例子
2018/04/27 PHP
PHP将整数数字转换为罗马数字实例分享
2019/03/17 PHP
ThinkPHP框架整合微信支付之JSAPI模式图文详解
2019/04/09 PHP
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
2013/04/01 Javascript
javascript自定义函数参数传递为字符串格式
2014/07/29 Javascript
JS回调函数简单用法示例
2017/02/09 Javascript
微信小程序 登录的简单实现
2017/04/19 Javascript
微信小程序中button组件的边框设置的实例详解
2017/09/27 Javascript
Angular4自制一个市县二级联动组件示例
2017/11/21 Javascript
vue中eventbus被多次触发以及踩过的坑
2017/12/02 Javascript
详解vue组件开发脚手架
2018/06/15 Javascript
Element UI 自定义正则表达式验证方法
2018/09/04 Javascript
使用vue2.0创建的项目的步骤方法
2018/09/25 Javascript
Element UI框架中巧用树选择器的实现
2018/12/12 Javascript
VueCli3.0中集成MockApi的方法示例
2019/07/05 Javascript
Node.js HTTP服务器中的文件、图片上传的方法
2019/09/23 Javascript
Vue通过for循环随机生成不同的颜色或随机数的实例
2019/11/09 Javascript
Python实例之wxpython中Frame使用方法
2014/06/09 Python
Python入门学习指南分享
2018/04/11 Python
centos7中安装python3.6.4的教程
2019/12/11 Python
vue常用指令代码实例总结
2020/03/16 Python
Python趣味实例,实现一个简单的抽奖刮刮卡
2020/07/18 Python
Python程序慢的重要原因
2020/09/04 Python
SmartBuyGlasses中国:唯视良品(销售名牌太阳镜、墨镜和眼镜框)
2017/07/03 全球购物
美国香薰蜡烛品牌:PADDYWAX
2018/10/06 全球购物
开朗女孩的自我评价
2014/02/10 职场文书
给老师的检讨书
2014/02/11 职场文书
小学语文国培感言
2014/03/04 职场文书
幼儿园户外活动总结
2014/07/04 职场文书
2015年专项整治工作总结
2015/04/03 职场文书
邓小平文选读书笔记
2015/06/29 职场文书
评奖评优个人先进事迹材料
2015/11/04 职场文书
Win11怎么进入安全模式?Windows 11进入安全模式的方法
2021/11/21 数码科技