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

本文实例讲述了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程序设计有所帮助。

以上是 JS实现静态页面搜索并高亮显示功能完整示例 的全部内容, 来源链接: utcz.com/z/313672.html

回到顶部