Comment modifier la valeur href d'un lien avec jQuery ?

La bibliothèque JavaScript permet de modifier n'importe quel attribut d'une balise, y compris l'attribut href d'un lien.

La bibliothèque JavaScript jQuery permet d'interagir facilement avec la page HTML et de manipuler les objets du DOM qui composent la page. Il est possible de modifier n'importe quel attribut d'une balise et on peut donc changer l'attribut href d'un lien, qui désigne l'adresse de destination. Pour effectuer cela, jQuery fournit la méthode attr() qui permet de modifier la valeur d'un attribut.

$('a').attr(href, http://www.monsite.fr); //Tous les liens redirigent vers monsite.fr.

Il faut cependant faire attention en utilisant cette méthode car elle créera l'attribut s'il n'existe pas, et certains liens ne possèdent pas cet attribut. C'est le cas des ancres, qui sont des liens permettant de naviguer à l'intérieur d'une page internet. Pour éviter de modifier les ancres, il faut mettre une condition en précisant l'attribut entre crochets. Grâce à cela, jQuery remplacera uniquement les liens disposant de l'attribut href.

$(a[href]).attr(href, http://www.monsite.fr); //Seuls les liens possédant l'attribut href redirigeront vers monsite.fr

Si l'on souhaite remplacer un lien en particulier, il est possible en utilisant l'opérateur = de chercher un lien ayant comme valeur de l'attribut href l'adresse que l'on souhaite remplacer.

$(a[href='http://www.monsite1.fr']).attr(href, http://www.monsite2.fr); //Seuls les liens redirigeant vers monsite1.fr redirigeront vers monsite2.fr

JQuery