Existe uma maneira de substituir o texto normal em um elemento de tabela que é colocado no corpo do HTML?
Como substituir "olá" por "oi"?
Use apenas JavaScript sem jQuery .
javascript
html
Que seja
fonte
fonte
hello, this is a text randomTexthello
deve serhi, this is a text randomTexthello
. No entanto, todas as outras respostas aqui substituem os caracteres em vez de palavras.Respostas:
Para substituir uma string em seu HTML por outra, use o método replace em innerHTML :
Observe que isso substituirá a primeira instância de em
hello
todo o corpo, incluindo quaisquer instâncias em seu código HTML (por exemplo, nomes de classes etc.), então use com cuidado - para obter melhores resultados, tente restringir o escopo de sua substituição, direcionando seu código usando document.getElementById ou semelhante.Para substituir todas as instâncias da string de destino, use uma expressão regular simples com a
g
sinalização lobal:fonte
<script type="text/javascript"> window.onload = clear(); function clear() { document.body.innerHTML = document.body.replace('ü', 'n'); } </script>
window.onload = clear;
sem os parênteses "()". Ao escreverclear()
, você realmente executa a função, mas deseja apenas atribuir a função ao manipulador onloadA função abaixo funciona perfeitamente para mim:
Aqui está um exemplo de uso:
Você também pode usar para fazer uma substituição direta como:
Mas tenha cuidado com isso, pois pode afetar as tags, css e scripts também.
EDITAR: Quanto a uma solução JavaScript pura, use este método:
fonte
Acabei com esta função para substituir texto com segurança, sem efeitos colaterais (até agora):
É para casos onde os 16kB de
findAndReplaceDOMText
são um pouco pesados demais.fonte
Eu tive o mesmo problema. Eu escrevi minha própria função usando substituir no innerHTML, mas iria estragar os links de âncora e tal.
Para fazer funcionar corretamente, usei uma biblioteca para fazer isso.
A biblioteca tem uma API incrível. Depois de incluir o script, chamei-o assim:
fonte
Eu estava tentando substituir uma string muito grande e, por algum motivo, as expressões regulares estavam gerando alguns erros / exceções.
Então eu encontrei essa alternativa para expressões regulares que também funcionam muito rápido. Pelo menos foi rápido o suficiente para mim:
src: Como substituir todas as ocorrências de uma string em JavaScript?
fonte
Use a função de substituição de string javascript padrão
fonte
Tente aplicar a solução sugerida acima em documentos bem grandes, substituindo strings bem curtas que podem estar presentes em innerHTML ou mesmo em innerText, e seu design de html fica quebrado na melhor das hipóteses
Portanto, em primeiro lugar, seleciono apenas elementos de nó de texto por meio de nós HTML DOM, como este
`e em seguida apliquei a substituição em todos eles no ciclo
fonte
Queria adicionar um exemplo à resposta do futuro funky, pois continuava recebendo este erro:
use assim:
não funcionou para mim com seletores jQuery.
fonte
Eu sou novo
Javascript
e comecei a aprender essas habilidades. Verifique se o método abaixo é útil para substituir o texto.fonte
Às vezes, a alteração
document.body.innerHTML
quebra alguns scripts JS na página. Aqui está a versão, que apenas altera o conteúdo dostext
elementos:fonte