JS實現(xiàn)靜態(tài)頁面搜索并高亮顯示功能完整示例
本文實例講述了JS實現(xiàn)靜態(tài)頁面搜索并高亮顯示功能。分享給大家供大家參考,具體如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JS搜索</title>
</head>
<body>
<input id="key-word" class="key-word" value="請輸入搜索內(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 == '請輸入搜索內(nèi)容')this.value='';
}
putWordsObj.onblur = function(){
if(!this.value)this.value='請輸入搜索內(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>
運行效果如下:

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)學(xué)運算用法總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
相關(guān)文章
用JavaScript事件串連執(zhí)行多個處理過程的方法
用JavaScript事件串連執(zhí)行多個處理過程的方法...2007-03-03
elementui的select實現(xiàn)多選添加功能
這篇文章主要介紹了elementui的select實現(xiàn)多選添加功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03
HTML+CSS+JavaScript實現(xiàn)簡單日歷效果
這篇文章主要為大家詳細(xì)介紹了HTML+CSS+JavaScript實現(xiàn)簡單日歷效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-07-07

