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 相关文章推荐
Highslide.js是一款基于js实现的网页中图片展示插件
Mar 30 Javascript
JS实现很酷的水波文字特效实例
Feb 26 Javascript
jquery实现简单文字提示效果
Dec 02 Javascript
jQuery选择器特殊字符与属性空格问题
Aug 14 jQuery
Node.js实现连接mysql数据库功能示例
Sep 15 Javascript
引入JavaScript时alert弹出框显示中文乱码问题
Sep 16 Javascript
使用socket.io实现简单聊天室案例
Jan 02 Javascript
vue的diff算法知识点总结
Mar 29 Javascript
vue+element的表格实现批量删除功能示例代码
Aug 17 Javascript
VSCode使用之Vue工程配置eslint
Apr 30 Javascript
vue实现同时设置多个倒计时
May 20 Vue.js
ant design charts 获取后端接口数据展示
May 25 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验证码(支持中文)
2007/02/14 PHP
解析PHP中一些可能会被忽略的问题
2013/06/21 PHP
PHP批量上传图片的具体实现方法介绍.
2014/02/26 PHP
php使用curl存储cookie的示例
2014/03/31 PHP
Smarty模板常见的简单应用分析
2016/11/15 PHP
apycom出品的jQuery精美菜单破解方法
2011/02/18 Javascript
jquery的键盘事件修改代码
2011/02/24 Javascript
js函数排序的实例代码
2013/07/01 Javascript
JS交换变量的方法
2015/01/21 Javascript
JavaScript实现LI列表数据绑定的方法
2015/08/04 Javascript
jQuery xml字符串的解析、读取及查找方法
2016/03/01 Javascript
实例解析Vue.js下载方式及基本概念
2018/05/11 Javascript
JS限制输入框输入的实现代码
2018/07/02 Javascript
vue-router重定向和路由别名的使用讲解
2019/01/19 Javascript
vue使用video.js进行视频播放功能
2019/07/18 Javascript
基于mpvue的简单弹窗组件mptoast使用详解
2019/08/02 Javascript
axios异步提交表单数据的几种方法
2019/08/11 Javascript
Python中使用第三方库xlutils来追加写入Excel文件示例
2015/04/05 Python
windows下ipython的安装与使用详解
2016/10/20 Python
利用Python破解验证码实例详解
2016/12/08 Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
2017/07/27 Python
Python实现爬虫从网络上下载文档的实例代码
2018/06/13 Python
详解python中@的用法
2019/03/27 Python
Opencv实现抠图背景图替换功能
2019/05/21 Python
Python使用循环神经网络解决文本分类问题的方法详解
2020/01/16 Python
如何用python批量调整视频声音
2020/12/22 Python
利用纯CSS3实现动态的自行车特效源码
2017/01/20 HTML / CSS
美国女性服饰销售网站:Nasty Gal(坏女孩)
2016/07/26 全球购物
设计师珠宝:Ylang 23
2018/05/11 全球购物
英国豪华装饰照明品牌的在线零售商:Inspyer Lighting
2019/12/10 全球购物
什么是托管函数?托管函数有什么用?
2014/06/15 面试题
Linux机考试题
2015/07/17 面试题
领导视察欢迎词
2014/01/15 职场文书
担保书格式及范文
2014/04/01 职场文书
爱岗敬业事迹材料
2014/12/24 职场文书
微软PC Health Check电脑健康状况检查应用下载(Win11配置检测工具)
2021/06/26 数码科技