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?
.find()
pour vérifier si le div contient img
.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.. } });