今朝改了原版免费素材下载 Jquery插件之高亮显示特定内容

资源魔 31 0
Jquery插件之高亮显示特定内容 修改版 然而今朝曾经没有实用于新版本的jQuery了,我改了下。
$(function() {
jQuery.highlight = document.body.createTextRange ?
/*
Version for IE using TextRanges.
*/
function(node, te) {
var r = document.body.createTextRange();
r.moveToElementText(node);
for (var i = 0; r.findText(te); i++) {
r.pasteHTML('<span class="highlight">' + r.text + '<\/span>');
r.collapse(false);
}
}
:
/*
(Complicated) version for Mozilla and Opera using span tags.
*/
function(node, te) {
var pos, skip, spannode, middlebit, endbit, middleclone;
skip = 0;
if (node.nodeType == 3) {
pos = node.data.toUpperCase().indexOf(te);
if (pos >= 0) {
spannode = document.createElement('span');
spannode.className = 'highlight';
middlebit = node.splitText(pos);
endbit = middlebit.splitText(te.length);
middleclone = middlebit.cloneNode(true);
spannode.appendChild(middleclone);
middlebit.parentNode.replaceChild(spannode, middlebit);
skip = 1;
}
}
else if (node.nodeType == 1 && node.childNodes && !/(script|style)/i.test(node.tagName)) {
for (var i = 0; i < node.childNodes.length; ++i) {
//i += $.highlight(node.childNodes[i], te);//原版
i += $(node.childNodes[i]).highlight(te);//张伟修正
}
}
return skip;
}
;
});
jQuery.fn.removeHighlight = function() {
return this.find("span.highlight").each(function() {
this.parentNode.replaceChild(this.firstChild, this).normalize();
});
};

标签: jQuery 高亮显示

抱歉,评论功能暂时关闭!