本文主要和大家介紹JS實作靜態頁面搜尋並高亮顯示功能,涉及javascript事件回應、字元遍歷替換及頁面元素屬性動態變換等相關操作技巧,需要的朋友可以參考下,希望能幫助到大家。
<!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> <p id="content" > <p>这是主体内容,有很多内容,很多很多啊啊啊……,比如1234abcd啊啊啊啊</p> <p>这是主体内容,有很多内容,很多很多啊啊啊……,比如1234abcd啊啊啊啊</p> <p>这是主体内容,有很多内容,很多很多啊啊啊……,比如1234abcd啊啊啊啊</p> <p>这是主体内容,有很多内容,很多很多啊啊啊……,比如1234abcd啊啊< d d>啊啊</p> </p> <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>
運作效果如下:
#相關推薦:
jQuery Json高亮外掛程式json-viewer.js使用方法詳解
##JavaScript之replace實作搜尋關鍵字高亮顯示方法以上是JS實作靜態頁面搜尋並高亮顯示的程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!