欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JS实现静态页面搜索并高亮显示功能完整示例

程序员文章站 2022-07-06 20:49:58
本文实例讲述了js实现静态页面搜索并高亮显示功能。分享给大家供大家参考,具体如下:

本文实例讲述了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数据结构与算法技巧总结》、《javascript数学运算用法总结》、《javascript排序算法总结》、《javascript遍历算法与技巧总结》、《javascript查找算法技巧总结》及《javascript错误与调试技巧总结

希望本文所述对大家javascript程序设计有所帮助。