question

Ajuda com javascript, por favor. Estou tentando localizar texto em um documento html, envolve-la na marca span.?

Estou tentando encontrar uma maneira de realçar o texto em uma página. Exceto que o texto em si não é inicialmente carregado com tags especiais. Estou fazendo uma pesquisa dentro da página via prompt de javascript. Eu quero o script para pesquisar o documento já carregado para localizar todas as ocorrências da seqüência de caracteres de texto e alterá-lo.

Isso precisa ser compatível com o Firefox.


resposta Resposta

Solução usando jQuery para simplicidade e Regex :), devem ser bom para ir. Esperançosamente protegido contra usando tags parciais também, então procura por 'spa', 'span', 'textarea' irá destacar o texto correspondente, mas vai evitar Rótulos próprias.

<html><head><title>Realçar texto</title>
<style type="text/css">
    .highlight{


        color:red;
    }
</style>
<script type="text/javascript" src=" http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js "></script>
<script type="text/javascript">

$(function(){
    highlight();
})

function highlight(){
    var span = "<span class='highlight'>";
    var string = prompt("Search string:").replace( /[-[\]{}()+?.,\\^$|#\s]/g, "\\$&");
    var regexp = new RegExp("((^|>)[^<]?)\\b" +string+ "\\b([^>]?(<|$))","gm");
    console.log($('body').html());
    $('body').html( $('body').html(). replace(regexp,"$1" + span+ string+ '</span>$3'));
}

</script></head><body>
texto
    <div>
texto
    </div>
    <span>texto em vários locais</span>
    <div>Eu gosto de <span>eu sou aninhado texto </span>que meu texto acontece para aparecer mais
a página, texto bobo</div>texto
</body></html>

resposta Não é a resposta que você estava procurando?
Adicionar um comentário ou resposta a esta pergunta

Pesquisar uma resposta melhor..
Ou, fazer uma pergunta..
Comentários
Acho que a resposta não está correta ou que você gostaria de acrescentar mais
alguma informação? Envie o seu comentário abaixo..

Guest


HTML não é permitido!

Image Code

Digite os caracteres que aparecem na imagem por isso sabemos que você é humano!

Receber um email quando alguém acrescenta outro comentário a esta pergunta



Topo da página


Home  Terms
Copyright © Accelerated Ideas 2005-2022
All rights reserved