Olá! Tenho um script abaixo que realiza highlight em uma palavra buscada, mas preciso que ao realizar uma nova busca ele apague a marcação anterior. Como eu faço? Segue o script para análise. function doDestacaTexto(Texto, termoBusca){
/*******************************************************************/
// CASO QUEIRA MODIFICAR O ESTILO DA MARCAÇÃO ALTERE ESSAS VARIÁVEIS
/*******************************************************************/
inicioTag = "<font style='color:#FFFFFF;background-color:#FF0000'><b>";
fimTag = "</b></font>";
var novoTexto = "";
var i = -1;
var lcTermoBusca = termoBusca.toLowerCase();
var lcTexto = Texto.toLowerCase();
while (Texto.length > 0){
i = lcTexto.indexOf(lcTermoBusca, i+1);
if (i < 0){
novoTexto += Texto;
Texto = "";
}
else{
if (Texto.lastIndexOf(">", i) >= Texto.lastIndexOf("<", i)){
if (lcTexto.lastIndexOf("/script>", i) >= lcTexto.lastIndexOf("<script", i)){
novoTexto += Texto.substring(0, i) + inicioTag + Texto.substr(i, termoBusca.length) + fimTag;
Texto = Texto.substr(i + termoBusca.length);
lcTexto = Texto.toLowerCase();
i = -1;
}
}
}
}
return novoTexto;
}
function doDestacaTextoBusca(textoBusca, textoObj, ehFrase){
if (ehFrase){arrayBusca=[textoBusca];}
else{arrayBusca = textoBusca.split(" ");}
var Texto = textoObj.innerHTML;
for (var i = 0; i < arrayBusca.length; i++){Texto = doDestacaTexto(Texto, arrayBusca[i]);}
textoObj.innerHTML = Texto;
return true;
}
Tenho um botão que chama esse código
<input type="text" name=t1 value="" size=20>
<input type="button" onClick="doDestacaTextoBusca(document.getElementById('t1').value, div_texto)" value="Destacar Texto" /> Desde já agradeço.