J'ai beaucoup de liens du même site Web mais avec des dirreciones différentes
var a = document.querySelector('a[href="somelink.com"]'); if (a) { a.setAttribute('href', 'replacedlink.com') } <a href="somelink.com" title="this link"> </a>
Il a essayé d'utiliser le code mais cela ne fonctionne pas pour moi car il recherche une URL spécifique et pas toutes
<a href="somelink.com/1" title="this link"> </a> <a href="somelink.com/2" title="this link"> </a> <a href="somelink.com/3" title="this link"> </a> <a href="somelink.com/3" title="this link"> </a>
Comment pourrais-je le faire de manière massive et le faire à toutes les URL d'un site Web en estecifico par exemple: somelink.com
3 Réponses :
Try adding class to the links and then use get element by class and replace the link <a href="www.google.com" class="abc">my url</a> var i=document.getElementByClass("abc"); for(let j=0;j<i.length;j++){ i[j].href='newUrl'; }
dans mon cas, l'url n'a pas de classe, elles sont stockées dans une base de données
alors vous pouvez concaténer l'url en cliquant comme si vous avez l'url de base www.facebook.com et que vous voulez aller à la page de configuration, vous pouvez ajouter la valeur en cliquant pour que l'URL devienne www.facebook.com/settings
Pour plusieurs éléments, nous pouvons les remplacer de cette manière:
var a = document.querySelectorAll('.your_attr_class').forEach( (item)=>{ if(item.href.startsWith('http://somelink.com')){ item.href.replace('http://somelink.com','http://replacewith.com'); } });
Je ne travaille pas, mon ami, car les URL ont des paramètres
Vous pouvez vérifier le href avec la méthode startsWith, puis le remplacer comme vous le souhaitez.
Vous pouvez utiliser un sélecteur d'attribut ^ = pour vérifier si le href commence par somelink.com
. Ensuite, vous pouvez remplacer l'url:
<a href="somelink.com/1" title="this link">a </a> <a href="somelink.com/2" title="this link">b </a> <a href="somelink.com/3" title="this link">c </a> <a href="somelink.com/3" title="this link">d </a> <a href="otherlink.com/3" title="this link">e </a>
document.querySelectorAll('a[href^="somelink.com"]').forEach( x => x.href = "replacedlink.com" )
Si vous souhaitez remplacer tout le lien, vous pouvez définir l'attribut href sur le nouveau lien:
<a href="somelink.com/1" title="this link">a </a> <a href="somelink.com/2" title="this link">b </a> <a href="somelink.com/3" title="this link">c </a> <a href="somelink.com/3" title="this link">d </a> <a href="otherlink.com/3" title="this link">e </a>
document.querySelectorAll('a[href^="somelink.com"]').forEach( x => x.href = x.href.replace("somelink.com", "replacedlink.com") );
merci, mais comment remplaceriez-vous toute l'url osea somelink.com/1 -> replacelink.com, en supprimant le paramètre / 1
@juan Dans ce cas, vous pouvez définir l'attribut href sur le nouveau lien. J'ai mis à jour ma réponse avec un exemple.