JS實(shí)現(xiàn)靜態(tài)頁(yè)面搜索并高亮顯示功能完整示例
本文實(shí)例講述了JS實(shí)現(xiàn)靜態(tài)頁(yè)面搜索并高亮顯示功能。分享給大家供大家參考,具體如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JS搜索</title> </head> <body> <input id="key-word" class="key-word" value="請(qǐng)輸入搜索內(nèi)容" /> <button id="search-button">搜索</button> <div id="content" > <p>這是主體內(nèi)容,有很多內(nèi)容,很多很多啊啊啊……,比如1234abcd啊啊啊啊</p> <p>這是主體內(nèi)容,有很多內(nèi)容,很多很多啊啊啊……,比如1234abcd啊啊啊啊</p> <p>這是主體內(nèi)容,有很多內(nèi)容,很多很多啊啊啊……,比如1234abcd啊啊啊啊</p> <p>這是主體內(nèi)容,有很多內(nèi)容,很多很多啊啊啊……,比如1234abcd啊啊< d d>啊啊</p> </div> <script> function $(id){ return document.getElementById(id) } var putWordsObj = $('key-word'); putWordsObj.onfocus = function(){ if(this.value == '請(qǐng)輸入搜索內(nèi)容')this.value=''; } putWordsObj.onblur = function(){ if(!this.value)this.value='請(qǐng)輸入搜索內(nèi)容'; } //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>
運(yùn)行效果如下:
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
JS中檢測(cè)數(shù)據(jù)類型的幾種方式及優(yōu)缺點(diǎn)小結(jié)
這篇文章主要介紹了JS中檢測(cè)數(shù)據(jù)類型的幾種方式及優(yōu)缺點(diǎn)小結(jié),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-12-12JS實(shí)現(xiàn)頁(yè)面滾動(dòng)到關(guān)閉時(shí)的位置與不滾動(dòng)效果
這篇文章主要介紹了JS實(shí)現(xiàn)頁(yè)面滾動(dòng)到關(guān)閉時(shí)的位置與不滾動(dòng)效果,滾動(dòng)有兩種方案,其一,利用路由中的meta,在離開(kāi)頁(yè)面時(shí)緩存 top 信息,其二,利用keep-alive緩存整個(gè)頁(yè)面。但是僅限于沒(méi)有實(shí)時(shí)數(shù)據(jù)變動(dòng)的頁(yè)面,需要的朋友可以參考下本文2022-06-06原生js實(shí)現(xiàn)jquery函數(shù)animate()動(dòng)畫效果的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇原生js實(shí)現(xiàn)jquery函數(shù)animate()動(dòng)畫效果的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08網(wǎng)頁(yè)中可關(guān)閉的漂浮窗口實(shí)現(xiàn)可自行調(diào)節(jié)
廣告式的漂浮窗口,想必大家并不陌生吧,下面為大家簡(jiǎn)單介紹下具體的實(shí)現(xiàn),有需要的朋友可以參考下2013-08-08微信小程序?qū)崿F(xiàn)單選選項(xiàng)卡切換效果
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)單選選項(xiàng)卡切換效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02JavaScript異步調(diào)用定時(shí)方法并停止該方法實(shí)現(xiàn)代碼
JavaScript異步調(diào)用定時(shí)方法并停止該方法實(shí)現(xiàn)代碼 ,需要的朋友可以參考下2012-03-03網(wǎng)站頁(yè)面自動(dòng)跳轉(zhuǎn)實(shí)現(xiàn)方法PHP、JSP(下)
很多時(shí)候我們需要Web頁(yè)具備有自動(dòng)跳轉(zhuǎn)功能,例如,論壇中的用戶登錄、發(fā)帖及回復(fù)或留言簿中的留言和回復(fù)等操作成功后,若用戶沒(méi)有任何鼠標(biāo)點(diǎn)擊操作,過(guò)了一定的時(shí)間,頁(yè)面自動(dòng)跳轉(zhuǎn)到預(yù)設(shè)的頁(yè)面。2010-08-08