J'ai besoin d'un extrait de code jQuery qui ajoute le paramètre action=xyz
à toutes les URL dans une page - notez qu'il doit également vérifier que si les URL ont déjà d'autres paramètres ajoutés ou non: par exemple, pour une URL telle que index.php?i=1
il doit être ajouté &action=xyz
et pour les URL sans paramètres comme index.php
il doit être ajouté ?action=xyz
.
Réponses:
12 pour la réponse № 1$("a").each(function() {
this.href += (/?/.test(this.href) ? "&" : "?") + "action=xyz";
});
Cela trouve tous les <a>
balise et met à jour leur valeur "href" comme vous l'avez décrit. Vous pouvez le transformer en un plugin jQuery si vous avez besoin de passer différentes valeurs "xyz":
jQuery.fn.addAction = function(action) {
return this.each(function() {
if ($(this).is("a")) {
this.href += (/?/.test(this.href) ? "&" : "?") + "action=" + escapeURLComponent(action);
}
};
}
Alors tu pourrais faire $("a").addAction("xyz");
ou, dans votre cas,
$("#yourDiv a").addAction("xyz");