HTML/CSS

JS实现静态页面搜索并高亮显示的方法

阿里云

本文实例讲述了 JS 实现静态页面搜索并高亮显示功能。分享给大家供大家参考,具体如下:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>JS搜索</title>
  6. </head>
  7. <body>
  8. <input id="key-word" class="key-word" value="请输入搜索内容"/>
  9. <button id="search-button">搜索</button>
  10. <div id="content" >
  11. <p>这是主体内容,有很多内容,很多很多啊啊啊……,比如1234abcd啊啊啊啊</p>
  12. <p>这是主体内容,有很多内容,很多很多啊啊啊……,比如1234abcd啊啊啊啊</p>
  13. <p>这是主体内容,有很多内容,很多很多啊啊啊……,比如1234abcd啊啊啊啊</p>
  14. <p>这是主体内容,有很多内容,很多很多啊啊啊……,比如1234abcd啊啊< d d>啊啊</p>
  15. </div>
  16. <script>
  17. function $(id){
  18. return document.getElementById(id)
  19. }
  20. var putWordsObj = $('key-word');
  21. putWordsObj.onfocus = function(){
  22. if(this.value == '请输入搜索内容')this.value='';
  23. }
  24. putWordsObj.onblur = function(){
  25. if(!this.value)this.value='请输入搜索内容';
  26. }
  27. //search
  28. $('search-button').onclick = function(){
  29. var content = $('content').innerHTML;
  30. var keyWord = $('key-word').value;
  31. content = search_do(content, keyWord);
  32. $('content').innerHTML = content;
  33. //alert(content)
  34. }
  35. function search_do(content,keyWord){
  36. var keyWordArr = keyWord.replace(/[\s]+/g,' ').split(' ');
  37. var re;
  38. for(var n = 0; n < keyWordArr.length; n ++) {
  39. //re = new RegExp(">[\s\S]*?"+keyWordArr[n]+"[\s\S]*?<\S","gmi");
  40. re = new RegExp(""+keyWordArr[n]+"","gmi");
  41. content = content.replace(re,'<span style="color:#0f0;background-color:#ff0">'+keyWordArr[n]+'</span>');
  42. }
  43. return content;
  44. }
  45. </script>
  46. </body>
  47. </html>
也想出现在这里?联系我们
创客主机

JS 实现静态页面搜索并高亮显示的方法

已有 359 人购买
查看演示升级 VIP立刻购买

收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!