Js实现页面关键字高亮显示
<!DOCTYPE HTML>
<html lang="en">
<meta http-equiv="Content-Type" content="text/html; charset=gdk" />
<head>
<title>检索关键字</title>
<script src="http://libs.baidu.com/jquery/1.11.1/jquery.min.js"></script>
</head>
<body>
<div style="width:100%; height:100px">
<input id="key" type="text"/><input type="button" value="检索" onclick="search()"/>
</div> <div id="result">
说散就散 - 刘旭阳<br/> 词:张楚翘<br/> 曲:伍乐城<br/> 抱一抱就当作从没有在一起 好不好要解释都已经来不及<br/> 算了吧我付出过什么没关系 我忽略自己就因为遇见你<br/> 没办法好可怕那个我不像话 一直奋不顾身是我太傻<br/> 说不上爱别说谎就一点喜欢 说不上恨别纠缠别装作感叹<br/> 就当作我太麻烦不停让自己受伤 我告诉我自己感情就是这样<br/> 怎么一不小心太疯狂 抱一抱再好好觉悟不能长久<br/> 好不好有亏欠我们都别追究 算了吧我付出再多都不足够<br/> 我终于得救我不想再献丑 没办法不好吗大家都不留下<br/> 一直勉强相处总会累垮 说不上爱别说谎就一点喜欢<br/> 说不上恨别纠缠别装作感叹 就当作我太麻烦不停让自己受伤<br/> 我告诉我自己感情就是这样 怎么一不小心太疯狂<br/> 别后悔就算错过 在以后你少不免想起我<br/> 还算不错 当我不在你会不会难过<br/> 你够不够我这样洒脱 说不上爱别说谎就一点喜欢<br/> 说不上恨别纠缠别装作感叹 将一切都体谅将一切都原谅<br/> 我尝试找答案而答案很简单 简单得很遗憾<br/> 因为成长我们逼不得已要习惯 因为成长我们忽尔间说散就散<br/>
</div> <script> function keyLight(id, key, bgColor){
var oDiv = document.getElementById(id),
sText = oDiv.innerHTML,
bgColor = bgColor || "orange",
sKey = "<span name='addSpan' style='background-color: "+bgColor+";'>"+key+"</span>",
num = -1,
rStr = new RegExp(key, "g"),
rHtml = new RegExp("\<.*?\>","ig"), //匹配html元素
aHtml = sText.match(rHtml); //存放html元素的数组
sText = sText.replace(rHtml, '{~}'); //替换html标签
sText = sText.replace(rStr,sKey); //替换key
sText = sText.replace(/{~}/g,function(){ //恢复html标签
num++;
return aHtml[num];
});
oDiv.innerHTML = sText;
} function search(){
if(typeof($("span[name='addSpan']").get(0)) != 'undefined'){
var html = $("span[name='addSpan']").get(0).textContent;
$("span[name='addSpan']").before(html);
$("span[name='addSpan']").remove();
}
//location.reload();
var key = document.getElementById("key").value;
if($.trim(key) != null && $.trim(key) != ''){
keyLight('result', key);
}
} </script> </body>
</html>
Js实现页面关键字高亮显示的更多相关文章
- 原生Js 两种方法实现页面关键字高亮显示
原生Js 两种方法实现页面关键字高亮显示 上网看了看别人写的,不是兼容问题就是代码繁琐,自己琢磨了一下用两种方法都可以实现,各有利弊. 方法一 依靠正则表达式修改 1.获取obj的html2.统一替换 ...
- JS将搜索的关键字高亮显示实现代码
这篇文章介绍了JS将搜索的关键字高亮显示实现代码,有需要的朋友可以参考一下 用JS让文章内容指定的关键字加亮 是这样的.. 现在有这些关键字:美容,生活,购物 当在文章里头出现这些关键字,就把它加亮显 ...
- js中页面刷新和页面跳转的方法总结
.js中cookie的基本用法简介 2009-12-15 js中页面刷新和页面跳转的方法总结 文章分类:Web前端 关键字: javascript js中页面刷新和页面跳转的方法总结 1.histor ...
- js中页面刷新和页面跳转的方法总结 [ 转自欢醉同学 ]
.js中cookie的基本用法简介 2009-12-15 js中页面刷新和页面跳转的方法总结 文章分类:Web前端 关键字: javascript js中页面刷新和页面跳转的方法总结 1.histor ...
- 前端(十二)—— JavaScript基础操作:if语句、for循环、while循环、for...in、for...of、异常处理、函数、事件、JS选择器、JS操作页面样式
JavaScript基础操作 一.分支结构 1.if语句 if 基础语法 if (条件表达式) { 代码块; } // 当条件表达式结果为true,会执行代码块:反之不执行 // 条件表达式可以为普通 ...
- JS实现页面进入、返回定位到具体位置
最为一个刚入职不久的小白...慢慢磨练吧... JS实现页面返回定位到具体位置 其实浏览器也自带了返回的功能,也就是说,自带了返回定位的功能.正常的跳转,返回确实可以定位,但是有些特殊场景就不适用了. ...
- js中this关键字测试集锦
参考:阮一峰<javascript的this用法>及<JS中this关键字详解> this是Javascript语言的一个关键字它代表函数运行时,自动生成的一个内部对象,只能在 ...
- js jquery 页面加载初始化方法
js jquery 页面加载初始化方法 一.js页面加载初始化方法 // 1.在body里面写初始化方法. <body onload='init()'> </body> < ...
- JS中this关键字详解
本文主要解释在JS里面this关键字的指向问题(在浏览器环境下). 阅读此文章,还需要心平气和的阅读完,相信一定会有所收获,我也会不定期的发布,分享一些文章,共同学习 首先,必须搞清楚在JS里面,函数 ...
随机推荐
- LeetCode(4):两个排序数组的中位数
Hard! 题目描述: 有两个大小为 m 和 n 的排序数组 nums1 和 nums2 . 请找出两个排序数组的中位数并且总的运行时间复杂度为 O(log (m+n)) . 示例 1: nums1 ...
- java tomcat linux 环境变量设置
一https://www.cnblogs.com/hanshuai/p/9604730.html :whereis java //查找java 安装路径:which java //查找java 执行路 ...
- DOM树示意图
- DDD领域模型数据访问权限(九)
权限分为:数据权限和功能权限 数据权限: 查询提供附加表达式的支持: //提供附加表达式的支持 List<TAggreateRoot> GetByCondition(Expression& ...
- mysql 不区分大小写的解决
mysql查询默认是不区分大小写的 如: select * from some_table where str=‘abc';select * from some_table where str='AB ...
- python tkinter-单选、多选
单选按钮 tkinter.Radiobutton(root,text='a').pack() tkinter.Radiobutton(root,text='b').pack() tkinter.R ...
- React Native之基于AsyncStorage的离线缓存框架设计
1.为什么要离线缓存? 宏观上来说: 提升用户体验: 我们要为用户提供流畅的APP操作体验,但我们无法保证所有用户的网络流畅度是好的,所以我们需要离线缓存来提升用户体验. 节省流量: 节省流量又分为两 ...
- 排序遇到问题 JDK7的Comparison method violates its general contract
图解JDK7的Comparison method violates its general contract异常 楼主分析的很详细,能力有限,我看得迷迷糊糊的,不过大致知道这个错误的起因了.学习了,谢 ...
- 张量系列(tensor02)
张量的两种运算 1. 张量的乘(Tensor product) tensorproduct() 2. 张量的缩并 tensorcontraction() The matrix trace is equ ...
- [HAOI2016]食物链
OJ题号:BZOJ4562.洛谷3183 思路:记忆化搜索. 本体可以转化成“求有向图中入度为0的结点到出度为0的结点的路径数”. 每次加边时记录每个结点的入度和出度,然后从入度为0的结点开始搜索,搜 ...