No recuerdo exactamente si fue de las FAQ's de Foros del Web de donde saque esto... pero bueno el problema es fácil de entender aunque no sé que tan fácil sea resolverlo...
Tengo esta funcion par resaltar los resultados de una busqueda de acuerdo a datos que estan previamente cargados en un FORM..
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>BUSCADOR</title> <script> String.prototype.preg_quote=function(){ p= /([:.\+*?[^\]$(){}=!<>|:)])/g; return this.replace(p,"\\$1"); } function buscar(cadena){ resetear(); if(!cadena.length)return; var info3; cadena=cadena.preg_quote(); var patron=new RegExp(cadena+'(?!\}\})','gim'); var espacio=/^\s$/; var el=document.getElementsByTagName('html')[0].getElementsByTagName('*'); for(var i=0;i<el.length;i++){ if(el[i].hasChildNodes && el[i].nodeName.toLowerCase()!='title' && el[i].nodeName.toLowerCase()!='script' && el[i].nodeName.toLowerCase()!='meta' && el[i].nodeName.toLowerCase()!='link' && el[i].nodeName.toLowerCase()!='style'){ var tt=el[i].childNodes; for(var jj in tt){ if(tt[jj].nodeType==3 && !espacio.test(tt[jj].nodeValue)){ patron.lastIndex = 0; if(info3=patron.exec(tt[jj].nodeValue)){ tt[jj].nodeValue=tt[jj].nodeValue.replace(patron,'{{'+tt[jj].nodeValue.substr(info3['index'],cadena.length)+'}}'); } } } } } document.getElementsByTagName('body')[0].innerHTML=document.getElementsByTagName('body')[0].innerHTML.split('}}').join('</span>').split('{{').join('<span style="background-color: #FFFF99">'); } function resetear(){ original=document.getElementsByTagName('body')[0].innerHTML=original; } window.onload=function(){ original=document.getElementsByTagName('body')[0].innerHTML; } </script> </head> <body> <form id="form1" name="form1" method="post" action=""> <input name="cadena" type="text" id="cadena" /> <input type="button" name="Button" value="buscar" onclick="buscar(cadena.value)" /> </form> ver Buscador simple <div>sí, dije buscador <div id="pepe">buscador <span> y metemos otra vez la palabra buscador} a ver /a qué pasa</span><span>algo más </span>y esto fuera del span y dentro de div </div> </div> y si ponemos buscador fuera otra vez? </body> </html>
¿¿No sé si me expliqué...??
Cualquier ayuda la agradeceré bastante...
Saludos...