test
as a plug-in,you want to change the original dom as little as possible.常规优化:只处理var formatkeyword=text中的label元素。替换(/[\/\^$*+?.()[\]]/g,\$&')//转义处理关键字包含特殊字符,如/var finder=new regexp(“>”。*?“++“。*是吗?<“)//提取文本中的标记,以避免错误的操作元素类、ID等。innerhtml=element。内部TML。替换(finder,函数(匹配)返回匹配。replace(text,“
”+text+
))//to keyword extraction tags inside the text replacement with can solve most problems,然而,还有一个问题,只要tag attribute exists liked”>replace
”+text+
))//to keyword extraction tags inside the text replacement with can solve most problems,然而,还有一个问题,只要tag attribute exists like
Regular Optimization II:Remove of potential affecting tags
keyword
=“will replace closed tags with variable[replaced1]keyword[replaced2]//id=“keyword”inside closed tags will not be processed=[replaced1]keyword.[replaced2]=”将把保持变量替换为原始的
keyword-
The idea and source code comes from here,but the problem is:if[replaced1]contains the keyword,the exception will occurrent during the substitution,and most important,when the tag value contains the<>符号,此方法也无法正确提取标记。然后,不使用字符串,而是使用节点。element.childnodes可以最有效地清除标签中的干扰信息。[完美解决方案]handle
keyword 1keyword 2
get all child nodes through parent childnodes.子节点可以替换为innertext.replce(关键字,结果)中所需的突出显示,如下所示:keyword2(recursion:replace when the child node has no children).但是属于文本节点的关键字1只能修改文本内容,不能添加HTML,更不能控制样式。文本节点无法转换为普通节点,这也是最烦人的事情。最后,本文的重点是,由于这个特性,我对文本节点进行了第一次认真的研究。文本在此处找到,通过剪切和替换文本节点突出显示。源代码和还原突出显示源代码:const reg=new regexp(关键字。替换(/[\/\^$*+?.()[\]]/g,\$&)highlight=函数(node,reg)if(node.nodeType==3)//const只处理文本节点match=node。数据。匹配(new regexp(reg));if(match)const highlightel=document.createElement(“b”);highlightel。数据集。highlight=“y”const wordnode=节点。SplitText(匹配。索引)wordnode。SplitText(匹配[0]。length);const wordnew=document.createTextNode(wordNode.data);highlightel。appendChild(wordNew);//生成成功的wordNode突出显示节点。父节点。replaceChild(highlightel wordnode);//替换文本节点else if(nodeType==1&&node.dataset)。突出!=“y”)for(var i=0;i表白情话扣字:如何解决HTML关键字突出显示问题
版权声明:本文内容由互联网用户投稿整理编辑发布,不拥有所有权,不承担应有相关法律责任。如果文章、图片有涉嫌抄袭的内容,请发送到邮箱举报,且提供抄袭的相关证据,一但查实,会在24小时删除涉嫌侵权内容。
热门推荐
1
开车污的句子段子 真喜欢你吞吞吐吐的样子
生活如果不来一些污的段子,未免太过单调,开车污的句子段子偶尔来上一句,说不定会勾出你隐藏的幽默因子哦!看看,别人是怎么说的,真喜欢你吞吞吐吐的样子,一言不合就开车你能吃得消吗?下面就和看淘网一起看看撩妹的污段子都是怎么说的吧!
2
开车污的句子不能超过10个子 女生根本抵抗不住
虽然在普通关系的时候不能乱说这些开车的句子,但是情侣之间适当的说些开车污的句子是很助于提升感情的哦,想知道有哪些开车污的短句,接下来就和小编一起来看看开车污的句子不能超过10个子。
3
老司机开车句子污 看过的都脸红了
当两个人刚刚在一起的时候还是非常的害羞的,可是渐渐的两个人相处的时间多了,说起话来就非常的没有节操,今天小编给大家分享老司机开车句子污,看过的都脸红了。经常说一些很污的话给自己的另一半听,能适当的增进感情,快来看淘网和小编一起看看老司机开车句子有哪些吧!
4
老司机开车经典语句 再不上车就晚啦
老司机都有自己的撩妹方法,今天小编给大家分享老司机开车经典语句,再不上车就晚啦!别人对你好,就是为了和你上床,我不一样,我沙发客厅阳台厨房都行。快来看淘网和小编一起看看老司机开车污句子,老司机带你飞。
5
用古诗暗示我想你 句句含蓄浪漫令人倾心
不论是男生还是女生喜欢一个人不如用这些古诗的来代替吧,用这些古诗暗示我想你,给对方带来不一样的感动,更多用古诗句子暗示我喜欢你,一起看看吧。
6
甜到炸的句子给闺蜜 感恩一路有你
闺蜜是除亲人外跟自己最亲的人,一直陪伴在自己身边,今天小编给大家分享甜到炸的句子给闺蜜,感恩一路有你,你有什么想说的话对闺蜜说却不知如何开口吗,不用担心,快来看淘网和小编一起看看给闺蜜甜到炸的句子有哪些吧!