首页 >web前端 >js教程 >js 关键词高亮(根据ID/tag高亮关键字)案例介绍_javascript技巧

js 关键词高亮(根据ID/tag高亮关键字)案例介绍_javascript技巧

WBOY
WBOY原创
2016-05-16 17:43:091427浏览
复制代码 代码如下:





JS 关键词高亮










二货朋友玩游戏被骗1200块,报警后被告知不够2000没办法立案。强大的二货又往那个账号寄了800块。你说那骗子是开心呢?还是开心极了呢。





改进版
复制代码 代码如下:

functionhighlightWord(node, word) {
// 迭代到此节点 childNodes
if (node.hasChildNodes) {
var hi_cn;
for (hi_cn = 0; hi_cn highlightWord(node.childNodes[hi_cn], word);
}
}
// 执行此节点本身
if (node.nodeType == 3) { // 文本节点
tempNodeVal = node.nodeValue.toLowerCase();
tempWordVal = word.toLowerCase();
if (tempNodeVal.indexOf(tempWordVal) != -1) {
pn = node.parentNode;
if (pn.className != "highlight") {
// 单词尚未突出显示!
nv = node.nodeValue;
ni = tempNodeVal.indexOf(tempWordVal);
// 创建替换节点负载
before = document.createTextNode(nv.substr(0, ni));
docWordVal = nv.substr(ni, word.length);
after = document.createTextNode(nv.substr(ni word.length));
hiwordtext = document.createTextNode(docWordVal);
hiword = document.createElement("span");
hiword.className = "突出显示";
hiword.appendChild(hiwordtext);
pn.insertBefore(之前,节点);
pn.insertBefore(hiword, 节点);
pn.insertBefore(之后,节点);
pn.removeChild(节点);
}
}
}
}
//根据Tag名高亮关键字
function SearchHighlightTag(node, key) {
if (!document.createElement) return ;
if (key.length === 0) 返回 false;
var 数组 = new Array();
array = key.split(" ");
var element = document.getElementsByTagName(node);
for (var i = 0; i for (var j = 0; j highlightWord(element[j],数组[i]);
}
}
}
//根据ID高亮关键字
function SearchHighlightID(node, key) {
if (!document.createElement) return;
if (key.length === 0) 返回 false;
var 数组 = new Array();
array = key.split(" ");
var element = document.getElementById(node);
for (var i = 0; i for (var j = 0; j highlightWord(element, array[i ]);
}
}
}
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn