Comment insérer une image avec un code Javascript avec des exemples de code
Dans ce tutoriel JavaScript, vous allez apprendre 6 scénarios courants que vous risquez de rencontrer, si ce n'est déjà fait, lorsque vous travaillez avec des images. Dans ce chapitre, nous allons étudier comment trouver la réponse à la question "Comment insérer une image en utilisant le code Javascript".
Comment insérer une image avec un code Javascript avec des exemples de code ?
1. Afficher l'image en HTML simple
Créez une balise d'image statique avec un attribut src avec une URL d'image dans le fichier HTML.
<img src= " https://picsum.photos/200/300" >
Ce qui donnera :
Comme vous pouvez le constater, j'ai utilisé le site picsum à des fins de démonstration. Il me permet d'obtenir une URL d'image aléatoire avec des dimensions spécifiques transmises à la fin de l'URL.
C'est plutôt simple n’est-ce pas ?
Voyons maintenant comment définir un attribut src de manière dynamique via JavaScript.
2. Définir l'attribut Src en JavaScript
En HTML, créez une balise d'image HTML comme suit :
<img/>
En JavaScript, obtenez une référence à la balise image en utilisant la méthode querySelector().
Ensuite, attribuez une URL d'image à l'attribut src de l'élément image.
img.src = "https://picsum.photos/200/301";
Vous pouvez également définir un attribut src à la balise image en utilisant la syntaxe des crochets au lieu de img.src comme ceci :
img["src"] = "https://picsum.photos/200/301";
Et voici le code :
3. Définir des attributs Src multiples en JavaScript
Disons que vous avez trois éléments d'image différents dans la page HTML.
En utilisant l'attribut ID ou class, vous pouvez facilement cibler chaque élément d'image séparément pour définir une valeur différente à l'attribut src, ce qui sera abordé plus tard dans ce chapitre.
Voici ce que vous devez NE PAS faire lorsque vous avez plusieurs balises d'images statiques sur votre page HTML.
Dans l'exemple précédent, nous avons utilisé la méthode querySelector() pour cibler l'élément image, ce qui fonctionne bien pour un seul élément image.
Mais pour obtenir une référence aux trois éléments image, nous devons utiliser la méthode querySelectorAll().
La fonction querySelectorAll("img") permet de récupérer toutes les références des éléments image et de créer un tableau de listes de nœuds à partir de celles-ci.
Cela fonctionne bien, mais il y a un problème avec cette approche.
Mais supposons que vous n'avez plus besoin du premier élément image et que vous le supprimez du code HTML.
Devinez quoi ?
Les deuxième et troisième éléments image se retrouveront avec les indices première et deuxième images.
Et notre code javascript a créé trois éléments image .
Cela va engendrer une erreur :
Uncaught TypeError: Cannot set properties of undefined (setting 'src')
at teste.html:23:12
Cette erreur nous dit que javascript a créé un src mais ne trouve pas où le placer dans notre document
pour contater cette erreur:
- Ouvrez la page d’exemple dans Chrome.
- Activer les outils de développement avec click droit puis cliquer sur inspecter dans votre page ou F12 (Mac: Cmd+Opt+I).
- Séléctionner l'anglet console
4. Créer un élément image en JavaScript
Créez un élément image en utilisant la méthode createElement() dans le document.
Ensuite, définissez l'URL de l'image dans son attribut src.
Exemple Dans cet exemple on va créer l'image dans le div avec l' id monDIV .
Le morceau de code ci-dessous fournit un résumé précis d’une méthode qui peut être utilisée pour résoudre le problème de l'insertion d'une image en se servant d’un code Javascript.
5. Ajouter un style en ligne à l'image en JavaScript
À l'aide de la propriété style, nous pouvons appliquer un style à l'élément image directement en JavaScript.
Comme dans l'exemple ci-dessous, on a appliqué un style de bordure ainsi qu'un style borderRadius.
Exemple appliquer un style css à l'image
Tout image doit avoir un texte descriptif ou cas où cette image ne s’affiche pas le texte alternatif serai affiché.
Ce texte est donné via l’attribut alt.
Exemple Le code javascript suivant ajoute l’attribut alt à notre image