Comment puis-je vérifier si une DIV contient des balises IMG avec des chemins src relatifs?

Je tire une page HTML d’un serveur qui contient différentes balises (img, div, etc.).

Du côté du client, je l’insère dans une div pour qu’elle s’affiche exactement comme le fichier html. Il peut contenir des images et du texte. Mais parfois, il existe des balises img dont le src a un chemin relatif.

Comment puis-je identifier ces balises img qui ne font pas référence à un http / https (chemin absolu) complet, mais commencent plutôt par “/” afin d’identifier le relatif?

  • Vous pouvez utiliser la méthode .find() pour vérifier si le div contient img
  • Vous pouvez utiliser la méthode .attr() pour récupérer le src

Vous pouvez utiliser les fonctions de chaîne / regex pour vérifier si l’atsortingbut src commence par http , https ou / et le modifier en conséquence.

Exemple:

 $("#div1").find("img").length // returns the number of images inside #div1 $("#div1").find("img").each(function () { var src = $(this).attr("src"); // grab the src "atsortingbute" console.log(src); console.log(src.indexOf("/") == 0); // true -> starts with / console.log(src.indexOf("http://") == 0); // true -> starts with http:// console.log(src.indexOf("https://") == 0); // true -> starts with https:// }); 

Si la DIV que vous utilisez pour l’afficher a un identifiant, vous pouvez essayer d’obtenir les enfants de cette div en utilisant

 $("#divID").children().find("img").each(function(){ if(($(this).attr("src")).indexOf("PATH")>0) { Do whatever.. } });