-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathjquery.highlightText.min.js
2 lines (2 loc) · 1.04 KB
/
jquery.highlightText.min.js
1
2
/*! jQuery highlightText v1.0.0 | (c) 2011, 2013 Kjel Delaey | https://raw.github.com/trimentor/jquery-highlightText/master/LICENSE
*/(function(a){a.fn.highlightText=function(e,c){var d={cssClass:"mark",ignoreCase:true};var b={innerHighlight:function(i,k){var h=0;if(3==i.nodeType){var j=b._ignoreCase()?k.toUpperCase():k;var f=b._ignoreCase()?i.data.toUpperCase():i.data;var g=f.indexOf(j);if(g>=0){b._replaceNodeContent(i,k,g);h=1}}else{if(b._possibleTextNode(i)){b._lookupTextNodes(i,k)}}return h},_ignoreCase:function(){return d&&d.ignoreCase},_possibleTextNode:function(f){return(1==f.nodeType&&f.childNodes&&!/(script|style)/i.test(f.tagName))},_lookupTextNodes:function(g,h){for(var f=0;f<g.childNodes.length;f++){f+=b.innerHighlight(g.childNodes[f],h)}},_replaceNodeContent:function(j,l,i){var g=document.createElement("span");var h=j.splitText(i);var k=h.splitText(l.length);var f=h.cloneNode(true);g.className=d.cssClass;g.appendChild(f);h.parentNode.replaceChild(g,h)}};return this.each(function(){if(c){a.extend(d,c)}b.innerHighlight(this,e)})}})(jQuery);