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;
}
Pergunta
Ericka
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.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.