ReplaceAll() en JavaScript est introuvable dans la page HTML </em>
P粉323224129
P粉323224129 2024-03-30 15:06:51
0
1
387

Je ne connais pas JavaScript et HTML. Mais j'essaie d'implémenter une fonction en utilisant JavaScript.

Je souhaite remplacer tous les <em></em> dans la page html. J'ai donc inséré un bout de code javascript dans la page :

function rep() 
{
    document.body.innerHTML
        = document.body.innerHTML
        .replaceAll("<em>", "_");
    document.body.innerHTML
        = document.body.innerHTML
        .replaceAll("</em>", "_");

}
window.onload=rep()
<!DOCTYPE html>
<html lang="en">
<!-- ... -->
<article>
    <div class="container">
        <div class="row">
            <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1 post-container">

                <p>(Weierstrass) 设 $z_{0}$ 是 $f$ 的本性奇点,那么对任意 $A \in \mathbb{C}<em>{\infty}$, 必存在趋于 $z</em>{0}$ 的点列 $\left{z_{n}\right}$, 使得 $\lim <em>{n \rightarrow \infty} f\left(z</em>{n}\right)=A$.</p>

            </div>
        </div>
    </div>
<!-- ... -->

</html>

Le succès ne changera <em>替换为“_”,但所有</em>rien. Y a-t-il un problème avec le code ? Merci!

P粉323224129
P粉323224129

répondre à tous(1)
P粉926174288

Voyons ce qui se passe lorsque le navigateur voit du code HTML invalide, par exemple :

test

console.log(document.body.innerHTML)
test

Imprimer ci-dessus test (et script)

Cela est dû au fait que le navigateur supprime les structures invalides lors de l'analyse

Quand tu fais ça

document.body.innerHTML
  = document.body.innerHTML
  .replaceAll("", "_");

Vous avez remplacé toutes les balises <em> correctement, mais la balise de fermeture a été supprimée

D'un autre côté, cela fonctionnera aussi :

document.body.innerHTML = document.body.innerHTML
  .replaceAll("", "_")
  .replaceAll("", "_");
test
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal