Maison >interface Web >js tutoriel >Pourquoi éviter `document.write()` et quelles sont les meilleures alternatives ?

Pourquoi éviter `document.write()` et quelles sont les meilleures alternatives ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-30 07:54:11995parcourir

Why Avoid `document.write()` and What are the Better Alternatives?

Alternatives à document.write : pourquoi l'éviter et quoi utiliser à la place

Éviter document.write

En HTML Dans les didacticiels, document.write() est couramment introduit, mais son utilisation est souvent déconseillée. En effet, document.write a de sévères limitations :

  • Écrase l'intégralité du document : Lorsqu'il est utilisé après le chargement de la page, document.write() effacera l'intégralité du code HTML existant et remplacera avec le contenu fourni.
  • XHTML invalide : document.write() n'est pas valide en XHTML strict code.
  • Problèmes de performances : document.write() peut avoir un impact négatif sur les performances du navigateur, en particulier lorsqu'il est utilisé à plusieurs reprises.

Alternatives à document.write

Voici quelques alternatives à document.write qui sont plus appropriées dans la plupart des cas. situations :

createElement() et appendChild()

Cette approche consiste à créer un nouvel élément HTML à l'aide de createElement() et à l'ajouter au DOM à l'aide de appendChild(). Il vous permet d'insérer du contenu sans écraser la page existante.

innerHTML

innerHTML est une propriété qui peut être utilisée pour définir le contenu dans un élément existant. Cette méthode est pratique pour mettre à jour des parties spécifiques de la page sans affecter le reste du contenu.

insertAdjacentHTML()

Cette méthode vous permet d'insérer du code HTML relatif à un élément spécifié. Il fournit diverses options d'insertion avant, après ou dans l'élément.

Exemple

Pour illustrer l'utilisation de createElement() et appendChild(), considérez ce qui suit code :

const container = document.getElementById('container');
const newElement = document.createElement('p');
newElement.textContent = 'Hello, world!';
container.appendChild(newElement);

Ce code crée un

élément avec le texte « Bonjour tout le monde ! » et l'ajoute à l'élément conteneur sans écraser le contenu existant.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn