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

时间:2021-05-26

本文实例讲述了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>

运行效果如下:

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数据结构与算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结》

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章